@valueerror/ltjs-lang-fr 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +232 -0
- package/NOTICE +9 -0
- package/README.md +25 -2
- package/index.js +24 -0
- package/licenses/LGPL-2.1.txt +504 -0
- package/licenses/french-pos-dict.pom.xml +115 -0
- package/licenses/resource_fr_README_lexique.txt +30 -0
- package/licenses/resource_fr_hunspell_README_fr.txt +73 -0
- package/package.json +60 -4
- package/resource-root.js +4 -0
- package/resources/META-INF/org/languagetool/language-module.properties +1 -0
- package/resources/org/languagetool/resource/fr/README_lexique.txt +30 -0
- package/resources/org/languagetool/resource/fr/added.txt +477 -0
- package/resources/org/languagetool/resource/fr/added_custom.txt +4 -0
- package/resources/org/languagetool/resource/fr/compounds.txt +1443 -0
- package/resources/org/languagetool/resource/fr/confusion_sets.txt +76 -0
- package/resources/org/languagetool/resource/fr/disambiguation.xml +11391 -0
- package/resources/org/languagetool/resource/fr/fr.sor +162 -0
- package/resources/org/languagetool/resource/fr/french.dict +0 -0
- package/resources/org/languagetool/resource/fr/french.info +20 -0
- package/resources/org/languagetool/resource/fr/french_synth.dict +0 -0
- package/resources/org/languagetool/resource/fr/french_synth.info +4 -0
- package/resources/org/languagetool/resource/fr/french_tags.txt +268 -0
- package/resources/org/languagetool/resource/fr/hunspell/README_fr.txt +73 -0
- package/resources/org/languagetool/resource/fr/hunspell/ignore.txt +1551 -0
- package/resources/org/languagetool/resource/fr/hunspell/prohibit.txt +3 -0
- package/resources/org/languagetool/resource/fr/hunspell/spelling.txt +34735 -0
- package/resources/org/languagetool/resource/fr/hunspell/spelling_custom.txt +1 -0
- package/resources/org/languagetool/resource/fr/hyphenated_words.txt +12864 -0
- package/resources/org/languagetool/resource/fr/multiwords.txt +4886 -0
- package/resources/org/languagetool/resource/fr/removed.txt +5 -0
- package/resources/org/languagetool/resource/fr/removed_custom.txt +4 -0
- package/resources/org/languagetool/rules/fr/grammar.xml +151570 -0
- package/resources/org/languagetool/rules/fr/remote-rule-filters.xml +820 -0
- package/resources/org/languagetool/rules/fr/replace.txt +39 -0
- package/resources/org/languagetool/rules/fr/replace_custom.txt +7 -0
- package/resources/org/languagetool/rules/fr/style.xml +22790 -0
- package/resources/org/languagetool/rules/fr/synonyms.txt +203 -0
- package/src/lang/fr/language/BelgianFrench.js +38 -0
- package/src/lang/fr/language/CanadianFrench.js +38 -0
- package/src/lang/fr/language/French.js +478 -0
- package/src/lang/fr/language/SwissFrench.js +38 -0
- package/src/lang/fr/language/id2prioFrench.js +102 -0
- package/src/lang/fr/rules/AdvancedSynthesizerFilter.js +12 -0
- package/src/lang/fr/rules/CompoundRule.js +47 -0
- package/src/lang/fr/rules/DMYDateCheckFilter.js +31 -0
- package/src/lang/fr/rules/DateCheckFilter.js +35 -0
- package/src/lang/fr/rules/DateFilterHelper.js +55 -0
- package/src/lang/fr/rules/FindSuggestionsFilter.js +80 -0
- package/src/lang/fr/rules/FrenchLazy.js +9 -0
- package/src/lang/fr/rules/FrenchMultitokenSpeller.js +15 -0
- package/src/lang/fr/rules/FrenchNumberInWordFilter.js +29 -0
- package/src/lang/fr/rules/FrenchPartialPosTagFilter.js +29 -0
- package/src/lang/fr/rules/FrenchRepeatedWordsRule.js +76 -0
- package/src/lang/fr/rules/FrenchSuppressMisspelledSuggestionsFilter.js +12 -0
- package/src/lang/fr/rules/InterrogativeVerbFilter.js +159 -0
- package/src/lang/fr/rules/MakeContractionsFilter.js +32 -0
- package/src/lang/fr/rules/MorfologikFrenchSpellerRule.js +262 -0
- package/src/lang/fr/rules/NewYearDateFilter.js +30 -0
- package/src/lang/fr/rules/PostponedAdjectiveConcordanceFilter.js +512 -0
- package/src/lang/fr/rules/QuestionWhitespaceRule.js +171 -0
- package/src/lang/fr/rules/QuestionWhitespaceStrictRule.js +38 -0
- package/src/lang/fr/rules/SimpleReplaceRule.js +63 -0
- package/src/lang/fr/rules/SuggestionsFilter.js +29 -0
- package/src/lang/fr/rules/WordWithDeterminerFilter.js +168 -0
- package/src/lang/fr/synthesis/FrenchSynthesizer.js +36 -0
- package/src/lang/fr/tagging/FrenchHybridDisambiguator.js +28 -0
- package/src/lang/fr/tagging/FrenchTagger.js +176 -0
- package/src/lang/fr/tokenizers/FrenchWordTokenizer.js +164 -0
|
@@ -0,0 +1,820 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" ?>
|
|
3
|
+
<?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css" title="Easy editing stylesheet" ?>
|
|
4
|
+
<!--
|
|
5
|
+
LanguageTool, a natural language style checker
|
|
6
|
+
Copyright (C) 2021 Fabian Richter
|
|
7
|
+
|
|
8
|
+
This library is free software; you can redistribute it and/or
|
|
9
|
+
modify it under the terms of the GNU Lesser General Public
|
|
10
|
+
License as published by the Free Software Foundation; either
|
|
11
|
+
version 2.1 of the License, or (at your option) any later version.
|
|
12
|
+
|
|
13
|
+
This library is distributed in the hope that it will be useful,
|
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
16
|
+
Lesser General Public License for more details.
|
|
17
|
+
|
|
18
|
+
You should have received a copy of the GNU Lesser General Public
|
|
19
|
+
License along with this library; if not, write to the Free Software
|
|
20
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
|
21
|
+
USA
|
|
22
|
+
-->
|
|
23
|
+
|
|
24
|
+
<!--
|
|
25
|
+
Filter for remote matches.
|
|
26
|
+
To ignore a remote rule match, set the <marker> so that it exactly covers the text underlined by the remote rule.
|
|
27
|
+
-->
|
|
28
|
+
<!DOCTYPE rules [
|
|
29
|
+
<!ENTITY unites_temps "matinée|journée|an|année|veille|décade|décennie|h(eure)?|j(our)?|lustre|millénaire|min(ute)?|mois|quadrimestre|seconde|semaine|semestre|siècle|trimestre|secs?">
|
|
30
|
+
<!ENTITY unites_de_mesure "min|(centi|milli|déci|déca|hecto|kilo|atto|exa|mega|giga|tera|peta|zetta|yotta|micro|nano|pico|femto|zepto|yocto)?[mètre|gramme|litre]|degré|[mchkd][wglm]|dag|dal|dam|volt|watt|hz|hertz|bits?|ms|s|cs|cc|dB|go|kw">
|
|
31
|
+
<!ENTITY monnaies "afghani|rand|lek|d[ie]nar|euro|kwanza|dollar|florin|riyal|peso|dram|manat|taka|rouble|franc|r(h)?oupie|boliviano|mark|pula|couronne|real|(bulgarian)? lev|riel|peso|escudo|yuan|livre|won|kuna|colon|dirham|birr|dalasi|lari|ghana cedi|quetzal|gourde|lempira|forint|rupiah|rial|yen|tenge|shilling|som|kip|rans|loti|lats|litas|pataca|malagasy|ringgit|kwacha|rufiyaa|ouguija|leu|tugrik|metical|kyat|rand|cordoba|naira|soum|balboa|kina|guarani|(nouveau)? sol|zloty|tala|dobra|leone|lilangeni|somoni|baht|pa'anga|manat|hryvnia|vatu|bolivar|dong|kwacha">
|
|
32
|
+
<!ENTITY couleur_invariable "abricot|absinthe|acajou|acier|océan|aigue-marine|albâtre|amadou|amande|amarante|ambre|améthyste|andrinople|anis|anthracite|ardoise|argent|argile|asperge|aubergine|auburn|aurore|avocat|azur|banane|basane|basque|bistre|bitume|bonbon|bordeaux|bourgogne|bouteille|brique|bronze|bulle|cacao|cachou|café|canari|cannelle|capucine|caramel|carmin|carmélite|carotte|cassis|cerise|chair|chamois|champagne|chaudron|chocolat|châtaigne|ciel|citron|cognac|coquelicot|corail|crevette|crème|cuivre|cyclamen|céladon|denim|ébène|émeraude|étain|feu|filasse|fluo|fraise|framboise|fuchsia|garance|grenat|groseille|géranium|havane|indigo|isabelle|ivoire|jade|jonquille|kaki|klein|lagon|lavande|lie-de-vin|lilas|magenta|mangue|marengo|marron|mastic|maïs|melon|menthe|miel|moutarde|muscade|myrtille|n[âa]cre|nacarat|nacre|noisette|ocre|olive|or|orange|outremer|paille|pastel|pastèque|perle|pervenche|pie|piment|pistache|pivoine|pomme|ponceau|porto|prune|puce|pétrole|pêche|romarin|rouille|sable|safran|sang|saumon|sépia|tabac|taupe|tilleul|tomate|turquoise|vanille|verdâtre|vermillon">
|
|
33
|
+
<!-- |tendance indien|plastique|tendre nuit?? -->
|
|
34
|
+
<!ENTITY couleur_invariable_m "noyer|canard"> <!-- fem: marine -->
|
|
35
|
+
<!ENTITY couleur_variable "alezan|blanhâtre|pourpré|violacé|ambré|aubère|bai|baillet|basané|beige|bis|blafard|blond|blême|châtain|chiné|cramoisi|dense|doré|écarlate|écru|fauve|fluorescent|foncé|glauque|incarnat|intense|livide|louvet|lumineux|mat|mauve|métallique|mordoré|opalin|orangé|pâle|perse|pourpre|profond|rosé|rose|rouan|rousse|roux|tourdille|tropical|vairon|vermeil|vernissé|vif|violet|zain|zinzolin">
|
|
36
|
+
<!ENTITY couleur "blanc|bleu|brun|gris|jaune|noir|rouge|vert">
|
|
37
|
+
<!-- only on the second position: -->
|
|
38
|
+
<!ENTITY couleur_variable2 "brillant|paillette|pailleté|cassé|bigarré|clair|sombre">
|
|
39
|
+
]>
|
|
40
|
+
<rules lang="fr" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/remote-rules.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
41
|
+
<category name="Machine learning rules" id="AI_RULES">
|
|
42
|
+
<rulegroup id="AI_FR_HYDRA_LEO_MISSING_COMMA" name="">
|
|
43
|
+
<rule>
|
|
44
|
+
<pattern>
|
|
45
|
+
<marker>
|
|
46
|
+
<token regexp="yes">de|pour</token>
|
|
47
|
+
</marker>
|
|
48
|
+
</pattern>
|
|
49
|
+
<example correction="">Il le vend <marker>pour</marker> 20 €.</example>
|
|
50
|
+
</rule>
|
|
51
|
+
<rule>
|
|
52
|
+
<pattern>
|
|
53
|
+
<token>à</token>
|
|
54
|
+
<marker>
|
|
55
|
+
<token postag="R pers obj.*" postag_regexp="yes"/>
|
|
56
|
+
</marker>
|
|
57
|
+
<token postag="A"/>
|
|
58
|
+
</pattern>
|
|
59
|
+
<example correction="">À <marker>toi</marker> à présent, je ne vois pas ce que vous pouvez faire.</example>
|
|
60
|
+
</rule>
|
|
61
|
+
<rule>
|
|
62
|
+
<pattern>
|
|
63
|
+
<marker>
|
|
64
|
+
<token postag="V.*" postag_regexp="yes"/>
|
|
65
|
+
</marker>
|
|
66
|
+
<token regexp="yes">["«]</token>
|
|
67
|
+
<token postag="J.*|V.* ppa.*" postag_regexp="yes"/>
|
|
68
|
+
</pattern>
|
|
69
|
+
<example correction="">Il le <marker>vend</marker> "arrivé" hier.</example>
|
|
70
|
+
</rule>
|
|
71
|
+
<rule>
|
|
72
|
+
<pattern>
|
|
73
|
+
<marker>
|
|
74
|
+
<token>comment</token>
|
|
75
|
+
</marker>
|
|
76
|
+
<token postag="D.*" postag_regexp="yes"/>
|
|
77
|
+
</pattern>
|
|
78
|
+
<example correction=""><marker>Comment</marker> la boulangère a-t-elle fait le pain ?</example>
|
|
79
|
+
</rule>
|
|
80
|
+
<rule>
|
|
81
|
+
<pattern>
|
|
82
|
+
<marker>
|
|
83
|
+
<token regexp="yes" case_sensitive="yes">XX?X?</token>
|
|
84
|
+
</marker>
|
|
85
|
+
<token regexp="yes">centièmes?|mille|&monnaies;|milliards?|millions?|milliers?|dizaines?|douzaines?|quinzaines?|trillions?|trilliards?|$|£|€|元|¥|₡|₹|₸|₩|ден|₮|रु|₦|₲|₱|฿|₴|₫|đ|°F|°C</token>
|
|
86
|
+
</pattern>
|
|
87
|
+
<example correction="">Voici comment <marker>XXX</marker> millions de bébés fourmis virent le jour.</example>
|
|
88
|
+
</rule>
|
|
89
|
+
<rule>
|
|
90
|
+
<pattern>
|
|
91
|
+
<marker>
|
|
92
|
+
<token postag="[YK]" postag_regexp="yes"/>
|
|
93
|
+
</marker>
|
|
94
|
+
<token regexp="yes">centièmes?|mille|&monnaies;|milliards?|millions?|milliers?|dizaines?|douzaines?|quinzaines?|trillions?|trilliards?|$|£|€|元|¥|₡|₹|₸|₩|ден|₮|रु|₦|₲|₱|฿|₴|₫|đ|°F|°C</token>
|
|
95
|
+
</pattern>
|
|
96
|
+
<example correction="">Voici comment <marker>15</marker> millions de bébés fourmis virent le jour.</example>
|
|
97
|
+
</rule>
|
|
98
|
+
<rule>
|
|
99
|
+
<pattern>
|
|
100
|
+
<marker>
|
|
101
|
+
<token/>
|
|
102
|
+
</marker>
|
|
103
|
+
<token>qui</token>
|
|
104
|
+
</pattern>
|
|
105
|
+
<example correction="">Il a présenté le sujet à des <marker>enfants</marker> qui étaient à la maternelle.</example>
|
|
106
|
+
</rule>
|
|
107
|
+
<rule>
|
|
108
|
+
<pattern>
|
|
109
|
+
<marker>
|
|
110
|
+
<token/>
|
|
111
|
+
</marker>
|
|
112
|
+
<token regexp="yes">telles?|tels?</token>
|
|
113
|
+
<token inflected="yes" skip="-1">que</token>
|
|
114
|
+
<token skip="-1">,</token>
|
|
115
|
+
<token regexp="yes">et|ou</token>
|
|
116
|
+
</pattern>
|
|
117
|
+
<example correction="">Il a présenté plusieurs <marker>sujets</marker> tels que les sciences, le français et les mathématiques.</example>
|
|
118
|
+
</rule>
|
|
119
|
+
<rule>
|
|
120
|
+
<pattern>
|
|
121
|
+
<token>encore</token>
|
|
122
|
+
<token>et</token>
|
|
123
|
+
<marker>
|
|
124
|
+
<token>encore</token>
|
|
125
|
+
</marker>
|
|
126
|
+
<token postag="[PD].*" postag_regexp="yes"/>
|
|
127
|
+
</pattern>
|
|
128
|
+
<example correction="">Il a dit encore et <marker>encore</marker> son nom.</example>
|
|
129
|
+
</rule>
|
|
130
|
+
<rule>
|
|
131
|
+
<pattern>
|
|
132
|
+
<marker>
|
|
133
|
+
<token postag="D.*" postag_regexp="yes"/>
|
|
134
|
+
</marker>
|
|
135
|
+
</pattern>
|
|
136
|
+
<example correction=""><marker>La</marker> marque.</example>
|
|
137
|
+
</rule>
|
|
138
|
+
<rule>
|
|
139
|
+
<pattern>
|
|
140
|
+
<token postag="SENT_START"/>
|
|
141
|
+
<token postag="D.*" postag_regexp="yes"/>
|
|
142
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
143
|
+
<marker>
|
|
144
|
+
<token regexp="yes">elles?</token>
|
|
145
|
+
</marker>
|
|
146
|
+
<token postag="V.* 3 ." postag_regexp="yes"/>
|
|
147
|
+
</pattern>
|
|
148
|
+
<example correction="">Ces filles <marker>elles</marker> sont grandes.</example>
|
|
149
|
+
</rule>
|
|
150
|
+
<rule>
|
|
151
|
+
<pattern>
|
|
152
|
+
<marker>
|
|
153
|
+
<token postag="[YK]" postag_regexp="yes"/>
|
|
154
|
+
</marker>
|
|
155
|
+
<token regexp="yes">&unites_de_mesure;|[\%\+\=\-]<exception>a</exception></token>
|
|
156
|
+
</pattern>
|
|
157
|
+
<example correction="">Il fait <marker>97</marker> m de long.</example>
|
|
158
|
+
</rule>
|
|
159
|
+
<rule>
|
|
160
|
+
<pattern>
|
|
161
|
+
<marker>
|
|
162
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
163
|
+
</marker>
|
|
164
|
+
<token postag="R pers obj.*" postag_regexp="yes"/>
|
|
165
|
+
<token postag="V.* ppr" postag_regexp="yes"/>
|
|
166
|
+
</pattern>
|
|
167
|
+
<example correction="">J'ai envoyé un <marker>message</marker> lui expliquant mon projet.</example>
|
|
168
|
+
</rule>
|
|
169
|
+
<rule>
|
|
170
|
+
<pattern>
|
|
171
|
+
<marker>
|
|
172
|
+
<token postag="V.*" postag_regexp="yes"/>
|
|
173
|
+
</marker>
|
|
174
|
+
<token regexp="yes">toute?s?|tous</token>
|
|
175
|
+
</pattern>
|
|
176
|
+
<example correction="">J'ai <marker>supprimé</marker> toute la partie en gras.</example>
|
|
177
|
+
</rule>
|
|
178
|
+
<rule>
|
|
179
|
+
<pattern>
|
|
180
|
+
<token>de</token>
|
|
181
|
+
<token>quelle</token>
|
|
182
|
+
<token>heure</token>
|
|
183
|
+
<token>à</token>
|
|
184
|
+
<token>quelle</token>
|
|
185
|
+
<marker>
|
|
186
|
+
<token>heure</token>
|
|
187
|
+
</marker>
|
|
188
|
+
</pattern>
|
|
189
|
+
<example correction="">De quelle heure à quelle <marker>heure</marker> est le tournoi.</example>
|
|
190
|
+
</rule>
|
|
191
|
+
<rule>
|
|
192
|
+
<pattern>
|
|
193
|
+
<marker>
|
|
194
|
+
<token regexp="yes">branchée?s?|calée?s?</token>
|
|
195
|
+
</marker>
|
|
196
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
197
|
+
</pattern>
|
|
198
|
+
<example correction=""><marker>Branché</marker> babioles ou pas, on en sort jamais les mains vides.</example>
|
|
199
|
+
</rule>
|
|
200
|
+
<rule>
|
|
201
|
+
<pattern>
|
|
202
|
+
<token>de</token>
|
|
203
|
+
<token>quelle</token>
|
|
204
|
+
<marker>
|
|
205
|
+
<token>heure</token>
|
|
206
|
+
</marker>
|
|
207
|
+
<token>à</token>
|
|
208
|
+
<token>quelle</token>
|
|
209
|
+
<token>heure</token>
|
|
210
|
+
</pattern>
|
|
211
|
+
<example correction="">De quelle <marker>heure</marker> à quelle heure est le tournoi.</example>
|
|
212
|
+
</rule>
|
|
213
|
+
<rule>
|
|
214
|
+
<pattern>
|
|
215
|
+
<token postag="[YK]" postag_regexp="yes"/>
|
|
216
|
+
<marker>
|
|
217
|
+
<token>fois</token>
|
|
218
|
+
</marker>
|
|
219
|
+
<token postag="[YK]" postag_regexp="yes"/>
|
|
220
|
+
</pattern>
|
|
221
|
+
<example correction="">Trois <marker>fois</marker> quatre, douze.</example>
|
|
222
|
+
</rule>
|
|
223
|
+
<rule>
|
|
224
|
+
<pattern>
|
|
225
|
+
<marker>
|
|
226
|
+
<token postag="Z.*" postag_regexp="yes"/>
|
|
227
|
+
</marker>
|
|
228
|
+
<token postag="R pers obj.*" postag_regexp="yes"/>
|
|
229
|
+
<token postag="V.*" postag_regexp="yes"/>
|
|
230
|
+
</pattern>
|
|
231
|
+
<example correction="">Le ministre des finances, <marker>Fouquet</marker> la prend.</example>
|
|
232
|
+
</rule>
|
|
233
|
+
<rule>
|
|
234
|
+
<pattern>
|
|
235
|
+
<marker>
|
|
236
|
+
<token postag="Z.*" postag_regexp="yes"/>
|
|
237
|
+
</marker>
|
|
238
|
+
<token>la</token>
|
|
239
|
+
<token>dédicace</token>
|
|
240
|
+
</pattern>
|
|
241
|
+
<example correction="">Le ministre des finances, <marker>Fouquet</marker> la dédicace.</example>
|
|
242
|
+
</rule>
|
|
243
|
+
<rule>
|
|
244
|
+
<pattern>
|
|
245
|
+
<marker>
|
|
246
|
+
<token regexp="yes">car|mais|ou</token>
|
|
247
|
+
</marker>
|
|
248
|
+
</pattern>
|
|
249
|
+
<example correction="">Il doit le faire <marker>car</marker> son frère n'est pas là.</example>
|
|
250
|
+
</rule>
|
|
251
|
+
<rule>
|
|
252
|
+
<pattern>
|
|
253
|
+
<marker>
|
|
254
|
+
<token regexp="yes">_.*|___|[\{\(\|\+\=\*\/\:\;\-]</token>
|
|
255
|
+
</marker>
|
|
256
|
+
</pattern>
|
|
257
|
+
<example correction="">J'ai <marker>___</marker> enfants.</example>
|
|
258
|
+
</rule>
|
|
259
|
+
<rule>
|
|
260
|
+
<pattern>
|
|
261
|
+
<token postag="SENT_START"/>
|
|
262
|
+
<token postag="R pers suj.*" postag_regexp="yes"/>
|
|
263
|
+
<token postag="V (avoir|etre).*" postag_regexp="yes"/>
|
|
264
|
+
<token postag="A" min="0" max="4"/>
|
|
265
|
+
<marker>
|
|
266
|
+
<token postag="V.*" postag_regexp="yes"/>
|
|
267
|
+
</marker>
|
|
268
|
+
<token postag="D.*" postag_regexp="yes"/>
|
|
269
|
+
</pattern>
|
|
270
|
+
<example correction="">On a <marker>vu</marker> le chat partir.</example>
|
|
271
|
+
</rule>
|
|
272
|
+
<rule>
|
|
273
|
+
<pattern>
|
|
274
|
+
<token postag="D.*" postag_regexp="yes"/>
|
|
275
|
+
<marker>
|
|
276
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
277
|
+
</marker>
|
|
278
|
+
<token regexp="yes">les?|la</token>
|
|
279
|
+
<token regexp="yes">plus|moins|mieux</token>
|
|
280
|
+
<token postag="V.* ppa.*|V.* inf" postag_regexp="yes"/>
|
|
281
|
+
</pattern>
|
|
282
|
+
<example correction="">La différence est dans le fond de comparer les <marker>partis</marker> les mieux gérer.</example>
|
|
283
|
+
</rule>
|
|
284
|
+
<rule>
|
|
285
|
+
<pattern>
|
|
286
|
+
<marker>
|
|
287
|
+
<token postag="[JN].*" postag_regexp="yes"/>
|
|
288
|
+
</marker>
|
|
289
|
+
<token><match no="0"/></token>
|
|
290
|
+
</pattern>
|
|
291
|
+
<example correction="">Se relever du canapé commence a être <marker>dur</marker> dur.</example>
|
|
292
|
+
</rule>
|
|
293
|
+
<rule>
|
|
294
|
+
<pattern>
|
|
295
|
+
<marker>
|
|
296
|
+
<token postag="P.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">Sur|Par|Dans|Pour</token>
|
|
297
|
+
</marker>
|
|
298
|
+
<token postag="D.*" postag_regexp="yes"/>
|
|
299
|
+
</pattern>
|
|
300
|
+
<example correction=""><marker>Sur</marker> les dentistes.</example>
|
|
301
|
+
</rule>
|
|
302
|
+
<rule>
|
|
303
|
+
<pattern>
|
|
304
|
+
<marker>
|
|
305
|
+
<token regexp="yes">&couleur;</token>
|
|
306
|
+
</marker>
|
|
307
|
+
<token regexp="yes">&couleur_variable;|&couleur_invariable;|&couleur_variable2;</token>
|
|
308
|
+
</pattern>
|
|
309
|
+
<example correction=""><marker>bleu</marker> ciel.</example>
|
|
310
|
+
</rule>
|
|
311
|
+
<rule>
|
|
312
|
+
<pattern>
|
|
313
|
+
<marker>
|
|
314
|
+
<token regexp="yes">conjonctions?</token>
|
|
315
|
+
</marker>
|
|
316
|
+
<token>de</token>
|
|
317
|
+
<token regexp="yes">coordination|subordination</token>
|
|
318
|
+
</pattern>
|
|
319
|
+
<example correction="">Par son absence volontaire de <marker>conjonction</marker> de coordination.</example>
|
|
320
|
+
</rule>
|
|
321
|
+
<rule>
|
|
322
|
+
<pattern>
|
|
323
|
+
<token regexp="yes">locutions?</token>
|
|
324
|
+
<marker>
|
|
325
|
+
<token regexp="yes">interjectives?|adverbiales?|adjectivales?|conjonctives?|déterminatives?|nominales?|postpositives?|prépositionnelles?|verbales?|pronominales?</token>
|
|
326
|
+
</marker>
|
|
327
|
+
</pattern>
|
|
328
|
+
<example correction="">La locution <marker>interjective</marker> bon sang, mais c'est bien sûr ! est utilisée.</example>
|
|
329
|
+
</rule>
|
|
330
|
+
<rule>
|
|
331
|
+
<pattern>
|
|
332
|
+
<marker>
|
|
333
|
+
<token regexp="yes">écriture|orthographe|accord|graphie</token>
|
|
334
|
+
</marker>
|
|
335
|
+
<token regexp="yes">du|de</token>
|
|
336
|
+
<token min="0" max="1">l'</token>
|
|
337
|
+
<token regexp="yes">mot|expression|locution|verbe|nom|adjectif|adverbe|pronom</token>
|
|
338
|
+
</pattern>
|
|
339
|
+
<example correction="">Un doute sur l'<marker>écriture</marker> de l'expression ?</example>
|
|
340
|
+
</rule>
|
|
341
|
+
</rulegroup>
|
|
342
|
+
<rulegroup id="AI_FR_HYDRA_LEO_MISSING_PERIOD" name="">
|
|
343
|
+
<rule>
|
|
344
|
+
<pattern>
|
|
345
|
+
<marker>
|
|
346
|
+
<token regexp="yes">[a-z].*</token>
|
|
347
|
+
<token>etc</token>
|
|
348
|
+
</marker>
|
|
349
|
+
</pattern>
|
|
350
|
+
<example correction="">Ce revers n'était pas une défaite irréversible, mais il fut exploité par la propagande <marker>communiste etc</marker> s'ajouta en France.</example>
|
|
351
|
+
</rule>
|
|
352
|
+
<rule>
|
|
353
|
+
<pattern>
|
|
354
|
+
<token postag="D.*" postag_regexp="yes"/>
|
|
355
|
+
<marker>
|
|
356
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
357
|
+
<token postag="V.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[a-z].*</token>
|
|
358
|
+
</marker>
|
|
359
|
+
</pattern>
|
|
360
|
+
<example correction="">Depuis plusieurs années, il est bien entendu approprié de dire que leur façon de s'occuper de leur <marker>foyer persiste</marker> de manière somme toute fort appropriée et accepté par tous.</example>
|
|
361
|
+
</rule>
|
|
362
|
+
<rule>
|
|
363
|
+
<pattern>
|
|
364
|
+
<token regexp="yes">["»«]</token>
|
|
365
|
+
<marker>
|
|
366
|
+
<token regexp="yes">\d.*</token>
|
|
367
|
+
<token regexp="yes">[a-z].*</token>
|
|
368
|
+
</marker>
|
|
369
|
+
</pattern>
|
|
370
|
+
<example correction="">"Ce revers n'était pas une défaite irréversible, mais il fut exploité par la propagande" <marker>236 Pour</marker> cela s'ajouta en France de nombreuses formes de protestations contre ce genre de pratiques fermement condamnées et hautement répréhensibles qui sont bien sûr méprisaient par l'ensemble de la popoulation depuis des temps immémorables.</example>
|
|
371
|
+
</rule>
|
|
372
|
+
<rule>
|
|
373
|
+
<pattern>
|
|
374
|
+
<marker>
|
|
375
|
+
<token regexp="yes">[a-z].*</token>
|
|
376
|
+
<token>tes</token>
|
|
377
|
+
</marker>
|
|
378
|
+
<token>que</token>
|
|
379
|
+
</pattern>
|
|
380
|
+
<example correction="">Ces Maitres « turroneros » en font la démonstration et continuent d'employer les outils <marker>ancestraux tes</marker> que les « punxes » (spatule géante pour malaxer la pâte) ou le « boixet » (chaudron et pilon utilisés pour la cuisson).</example>
|
|
381
|
+
</rule>
|
|
382
|
+
<rule>
|
|
383
|
+
<pattern>
|
|
384
|
+
<marker>
|
|
385
|
+
<token regexp="yes">des|d'|de</token>
|
|
386
|
+
<token postag="[YK]" postag_regexp="yes"/>
|
|
387
|
+
</marker>
|
|
388
|
+
</pattern>
|
|
389
|
+
<example correction="">Carrière de rencontres en pétrole, j'aime la structuration initiale <marker>de 8785</marker> applications iphone montreal le long parcours du président de protection de surveiller, de tlemcen, un genre et d'assurer la paix, le poursuit-elle.</example>
|
|
390
|
+
</rule>
|
|
391
|
+
<rule>
|
|
392
|
+
<pattern>
|
|
393
|
+
<marker>
|
|
394
|
+
<token regexp="yes">[a-z].*</token>
|
|
395
|
+
<token>vert</token>
|
|
396
|
+
</marker>
|
|
397
|
+
<token postag="V.*" postag_regexp="yes"/>
|
|
398
|
+
</pattern>
|
|
399
|
+
<example correction="">Quelques notes de musique, une phrase culte et un maître à <marker>penser vert</marker> font (entre autres) de cet objet culturel une oeuvre identifiable même par celles et ceux qui ne la regarde pas (oui oui ça existe …).</example>
|
|
400
|
+
</rule>
|
|
401
|
+
<rule>
|
|
402
|
+
<pattern>
|
|
403
|
+
<marker>
|
|
404
|
+
<token>été</token>
|
|
405
|
+
<token postag="V.* inf" postag_regexp="yes"/>
|
|
406
|
+
</marker>
|
|
407
|
+
</pattern>
|
|
408
|
+
<example correction="">Une horreur ce truc, impossible de savoir où ils avaient <marker>été pondre</marker> (enfin si, sans doute dans les joints du frigo et tous les petits trous inaccessibles pour nous, puisque le bestiau mesure un demi milimètre à peine) ils revenaient sans cesse.</example>
|
|
409
|
+
</rule>
|
|
410
|
+
<rule>
|
|
411
|
+
<pattern>
|
|
412
|
+
<marker>
|
|
413
|
+
<token case_sensitive="yes">M</token>
|
|
414
|
+
<token regexp="yes" case_sensitive="yes">[A-Z].*</token>
|
|
415
|
+
</marker>
|
|
416
|
+
</pattern>
|
|
417
|
+
<example correction="">Malgré les pressions des armateurs et de <marker>M Bourgeois</marker> les témoignages des marins ukrainiens rescapés sont un élément clé : le bateau était en mauvais état.</example>
|
|
418
|
+
</rule>
|
|
419
|
+
<rule>
|
|
420
|
+
<pattern>
|
|
421
|
+
<marker>
|
|
422
|
+
<token regexp="yes" case_sensitive="yes">[a-z].*</token>
|
|
423
|
+
<token regexp="yes" case_sensitive="yes">[A-Z][A-Z].*</token>
|
|
424
|
+
</marker>
|
|
425
|
+
<token regexp="yes" case_sensitive="yes">[a-z].*</token>
|
|
426
|
+
</pattern>
|
|
427
|
+
<example correction="">Combien d'entre nous ont pris des benzos sur plusieurs mois voire plusieurs <marker>années SUR</marker> prescription de leur médecin ?</example>
|
|
428
|
+
</rule>
|
|
429
|
+
<rule>
|
|
430
|
+
<pattern>
|
|
431
|
+
<token>une</token>
|
|
432
|
+
<token>fois</token>
|
|
433
|
+
<marker>
|
|
434
|
+
<token regexp="yes" case_sensitive="yes">[a-z].*</token>
|
|
435
|
+
<token postag="Z.*" postag_regexp="yes"/>
|
|
436
|
+
</marker>
|
|
437
|
+
</pattern>
|
|
438
|
+
<example correction="">Ils descendent tout les deux de la voiture, une fois <marker>dehors Sara</marker> regarde autour d'elle avant de se mettre à sourire et de regarder Michael.</example>
|
|
439
|
+
</rule>
|
|
440
|
+
<rule>
|
|
441
|
+
<pattern>
|
|
442
|
+
<marker>
|
|
443
|
+
<token regexp="yes" case_sensitive="yes">[a-z].*</token>
|
|
444
|
+
<token postag="Z.*" postag_regexp="yes"/>
|
|
445
|
+
</marker>
|
|
446
|
+
<token regexp="yes">,|(?-i)[A-Z].*</token>
|
|
447
|
+
</pattern>
|
|
448
|
+
<example correction="">Pour pour la dernière fois, je te dis que je m'y <marker>mets Hugo</marker>, mais avant de te mettre à sourire et de regarder Michael laisse-moi t'expliquer mon cas.</example>
|
|
449
|
+
</rule>
|
|
450
|
+
<rule>
|
|
451
|
+
<pattern>
|
|
452
|
+
<token>,</token>
|
|
453
|
+
<marker>
|
|
454
|
+
<token>exemple</token>
|
|
455
|
+
<token regexp="yes" case_sensitive="yes">[a-z].*</token>
|
|
456
|
+
</marker>
|
|
457
|
+
</pattern>
|
|
458
|
+
<example correction="">Pour pour la dernière fois, je te dis que je m'y mets, <marker>exemple un</marker> jour tu comprendras, mais avant de te mettre à sourire et de regarder Michael laisse-moi t'expliquer mon cas.</example>
|
|
459
|
+
</rule>
|
|
460
|
+
<rule>
|
|
461
|
+
<pattern>
|
|
462
|
+
<marker>
|
|
463
|
+
<token regexp="yes">[a-z].*</token>
|
|
464
|
+
<token regexp="yes">euh|heu|bof|ben</token>
|
|
465
|
+
</marker>
|
|
466
|
+
</pattern>
|
|
467
|
+
<example correction="">Pour pour la dernière fois, je te dis que je m'y mets par des <marker>tiers euh</marker> dans ce cas-ci, tu comprendras, mais avant de te mettre à sourire et de regarder Michael laisse-moi t'expliquer mon cas.</example>
|
|
468
|
+
</rule>
|
|
469
|
+
<rule>
|
|
470
|
+
<pattern>
|
|
471
|
+
<token>quel</token>
|
|
472
|
+
<marker>
|
|
473
|
+
<token>point</token>
|
|
474
|
+
<token regexp="yes">[a-z].*</token>
|
|
475
|
+
</marker>
|
|
476
|
+
</pattern>
|
|
477
|
+
<example correction="">Pour pour la dernière fois, je te dis que je m'y mets par des tiers et à quel <marker>point tu</marker> comprendras, mais avant de te mettre à sourire et de regarder Michael laisse-moi t'expliquer mon cas.</example>
|
|
478
|
+
</rule>
|
|
479
|
+
<rule>
|
|
480
|
+
<pattern>
|
|
481
|
+
<marker>
|
|
482
|
+
<token regexp="yes" inflected="yes" case_sensitive="yes">&unites_temps;</token>
|
|
483
|
+
<token regexp="yes" case_sensitive="yes">\d.*</token>
|
|
484
|
+
</marker>
|
|
485
|
+
</pattern>
|
|
486
|
+
<example correction="">Pour pour la dernière fois, je te dis que je m'y mettrai dans la <marker>semaine 32</marker> le 8 ou le 9 août de l'année prochaine je pense mais je dois encore vérifier.</example>
|
|
487
|
+
</rule>
|
|
488
|
+
<rule>
|
|
489
|
+
<pattern>
|
|
490
|
+
<marker>
|
|
491
|
+
<token postag="[NJZ].*" postag_regexp="yes"/>
|
|
492
|
+
<token postag="V.* ppr" postag_regexp="yes" regexp="yes" case_sensitive="yes">[a-z].*</token>
|
|
493
|
+
</marker>
|
|
494
|
+
</pattern>
|
|
495
|
+
<example correction="">Pour pour la dernière fois, je te dis que je m'y mettrai et que la <marker>force opposant</marker> notre volonté disparaitra avec le temps, fais-moi confiance sur ce coup-là.</example>
|
|
496
|
+
</rule>
|
|
497
|
+
<rule>
|
|
498
|
+
<pattern>
|
|
499
|
+
<token>.</token>
|
|
500
|
+
<marker>
|
|
501
|
+
<token regexp="yes">[a-z].*</token>
|
|
502
|
+
</marker>
|
|
503
|
+
<token postag="V.*" postag_regexp="yes"/>
|
|
504
|
+
</pattern>
|
|
505
|
+
<example correction="">Eclectique, les éditions G.L.<marker>M</marker> sont traversées par les grands courants de cette période particulièrement créatrice.</example>
|
|
506
|
+
</rule>
|
|
507
|
+
<rule>
|
|
508
|
+
<pattern>
|
|
509
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
510
|
+
<marker>
|
|
511
|
+
<token postag="J.*" postag_regexp="yes"/>
|
|
512
|
+
<token postag="J.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[a-z].*
|
|
513
|
+
<exception postag="N.*" postag_regexp="yes"/></token>
|
|
514
|
+
</marker>
|
|
515
|
+
<token>:</token>
|
|
516
|
+
</pattern>
|
|
517
|
+
<example correction="">C'est la folie sur Twitter, sur Facebook et dans le monde <marker>entier réveillé</marker> : NBC vient d'annoncer il y a quelques minutes qu'Oussama Ben Laden a été tué après une opération pour le capturer au Pakistan, dans la ville d'Abbottabad.</example>
|
|
518
|
+
</rule>
|
|
519
|
+
<rule>
|
|
520
|
+
<pattern>
|
|
521
|
+
<marker>
|
|
522
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
523
|
+
<token>rarement</token>
|
|
524
|
+
</marker>
|
|
525
|
+
<token postag="D.*|(P\+)?D.*" postag_regexp="yes"/>
|
|
526
|
+
<token postag="[JN].*" postag_regexp="yes"/>
|
|
527
|
+
</pattern>
|
|
528
|
+
<example correction="">Les sterculiacées – Les plantes de la famille des sterculiacées sont des arbres et <marker>arbustes rarement</marker> des herbacées et lianes qui ont des feuilles stipulées et des fleurs en cymes ou en corymbes.</example>
|
|
529
|
+
</rule>
|
|
530
|
+
<rule>
|
|
531
|
+
<pattern>
|
|
532
|
+
<marker>
|
|
533
|
+
<token postag="N.*" postag_regexp="yes"/>
|
|
534
|
+
<token postag="A" postag_regexp="yes"/>
|
|
535
|
+
</marker>
|
|
536
|
+
<token postag="R rel.*" postag_regexp="yes"/>
|
|
537
|
+
</pattern>
|
|
538
|
+
<example correction="">A l'heure actuelle, les formations d'animateurs dans telle ou telle activité s'organisent dans les <marker>clubs directement</marker> où les animateurs plus expérimentés partagent leurs savoirs aux nouveaux ou débutants dans l'animation.</example>
|
|
539
|
+
</rule>
|
|
540
|
+
<rule>
|
|
541
|
+
<pattern>
|
|
542
|
+
<marker>
|
|
543
|
+
<token regexp="yes" case_sensitive="yes">[A-Z]</token>
|
|
544
|
+
<token case_sensitive="yes">Le</token>
|
|
545
|
+
</marker>
|
|
546
|
+
<token regexp="yes" case_sensitive="yes">[A-Z].*</token>
|
|
547
|
+
</pattern>
|
|
548
|
+
<example correction="">à propos de traces d'huile autour du bateau, <marker>J Le</marker> Coz a demandé qu'on le prévienne si cela continuait.</example>
|
|
549
|
+
</rule>
|
|
550
|
+
</rulegroup>
|
|
551
|
+
|
|
552
|
+
<!-- ====================================================================== -->
|
|
553
|
+
<!-- Antipatterns for AI_FR_GGEC_.* -->
|
|
554
|
+
<!-- ====================================================================== -->
|
|
555
|
+
|
|
556
|
+
<rulegroup id="AI_FR_GGEC_.*" name="">
|
|
557
|
+
<rule>
|
|
558
|
+
<pattern>
|
|
559
|
+
<token postag="IS_URL"/>
|
|
560
|
+
</pattern>
|
|
561
|
+
<example correction="">C'est ici : <marker>https://github.com/languagetool-org/languagetool/commits/master</marker></example>
|
|
562
|
+
</rule>
|
|
563
|
+
<rule>
|
|
564
|
+
<regexp>[\s\u00A0\u202F\u2009](https?|ftp)://.*|www.*</regexp>
|
|
565
|
+
<example correction="">C'est ici :<marker> https://github.com/languagetool-org/languagetool/commits/master</marker></example>
|
|
566
|
+
</rule>
|
|
567
|
+
</rulegroup>
|
|
568
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_NOUN.*" name="">
|
|
569
|
+
<rule><!--1-->
|
|
570
|
+
<pattern>
|
|
571
|
+
<token regexp="yes">belgicisme(s)?</token>
|
|
572
|
+
</pattern>
|
|
573
|
+
<example correction="">C'est un <marker>belgicisme</marker>.</example>
|
|
574
|
+
</rule>
|
|
575
|
+
</rulegroup>
|
|
576
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_CONFUSION.*" name="">
|
|
577
|
+
<rule><!--1-->
|
|
578
|
+
<pattern>
|
|
579
|
+
<token regexp="yes">belgicisme(s)?</token>
|
|
580
|
+
</pattern>
|
|
581
|
+
<example correction="">Ce sont des <marker>belgicismes</marker>.</example>
|
|
582
|
+
</rule>
|
|
583
|
+
<rule><!--2-->
|
|
584
|
+
<pattern>
|
|
585
|
+
<token>tokyo</token>
|
|
586
|
+
</pattern>
|
|
587
|
+
<example correction="">La capitale du Japon est <marker>Tokyo</marker>.</example>
|
|
588
|
+
</rule>
|
|
589
|
+
<rule><!--3-->
|
|
590
|
+
<pattern>
|
|
591
|
+
<token postag="R pers suj 3.*|R pers obj 3.*" postag_regexp="yes" regexp="yes">iels?</token>
|
|
592
|
+
</pattern>
|
|
593
|
+
<example correction=""><marker>Iel</marker> ne nous reconnait plus.</example>
|
|
594
|
+
</rule>
|
|
595
|
+
</rulegroup>
|
|
596
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_ADJECTIVE_FORM.*" name="">
|
|
597
|
+
<rule><!--1-->
|
|
598
|
+
<pattern>
|
|
599
|
+
<token postag="SENT_START|M nonfin" postag_regexp="yes"/>
|
|
600
|
+
<token>que</token>
|
|
601
|
+
<token postag="R pers suj 1 p|R pers suj 2 p" postag_regexp="yes"/>
|
|
602
|
+
<marker>
|
|
603
|
+
<token postag="V inf"/>
|
|
604
|
+
</marker>
|
|
605
|
+
<token postag="P"/>
|
|
606
|
+
</pattern>
|
|
607
|
+
<example correction="">Que vous <marker>souhaiter</marker> de plus que du bonheur, de l’amour, de la passion ?</example>
|
|
608
|
+
</rule>
|
|
609
|
+
<rule><!--2-->
|
|
610
|
+
<pattern>
|
|
611
|
+
<token postag="SENT_START|M nonfin" postag_regexp="yes"/>
|
|
612
|
+
<token>que</token>
|
|
613
|
+
<token postag="R pers suj 1 p|R pers suj 2 p" postag_regexp="yes"/>
|
|
614
|
+
<marker>
|
|
615
|
+
<token postag="V inf"/>
|
|
616
|
+
</marker>
|
|
617
|
+
<token postag="SENT_END" regexp="yes">[.!?]</token>
|
|
618
|
+
</pattern>
|
|
619
|
+
<example correction="">Que vous <marker>souhaiter</marker> ?</example>
|
|
620
|
+
</rule>
|
|
621
|
+
<rule><!--"se rendre compte"-->
|
|
622
|
+
<pattern>
|
|
623
|
+
<marker>
|
|
624
|
+
<token postag="V ppa m s" inflected="yes">rendre</token>
|
|
625
|
+
</marker>
|
|
626
|
+
<token>compte</token>
|
|
627
|
+
</pattern>
|
|
628
|
+
<example correction="">Elles ne s'en sont pas <marker>rendu</marker> compte.</example>
|
|
629
|
+
</rule>
|
|
630
|
+
<rule>
|
|
631
|
+
<pattern>
|
|
632
|
+
<marker>
|
|
633
|
+
<token>joyeuse</token>
|
|
634
|
+
</marker>
|
|
635
|
+
<token>Halloween</token>
|
|
636
|
+
</pattern>
|
|
637
|
+
<example correction="">Mais <marker>joyeuse</marker> Halloween !</example>
|
|
638
|
+
</rule>
|
|
639
|
+
</rulegroup>
|
|
640
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_ORTHOGRAPHY_LOWERCASE.*" name="">
|
|
641
|
+
<rule><!--1 to avoid interfering with other rules-->
|
|
642
|
+
<pattern>
|
|
643
|
+
<token postag="SENT_START"/>
|
|
644
|
+
<token case_sensitive="yes" regexp="yes">Bonjour|Bonsoir</token>
|
|
645
|
+
<token min="0" max="1">,</token>
|
|
646
|
+
<marker>
|
|
647
|
+
<token regexp="yes" case_sensitive="yes">monsieur|madame</token>
|
|
648
|
+
</marker>
|
|
649
|
+
</pattern>
|
|
650
|
+
<example correction="">Bonjour <marker>monsieur</marker>.</example>
|
|
651
|
+
</rule>
|
|
652
|
+
</rulegroup>
|
|
653
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_NOUN_FORM.*" name="">
|
|
654
|
+
<rule>
|
|
655
|
+
<pattern>
|
|
656
|
+
<token postag="D . s?p" postag_regexp="yes"/>
|
|
657
|
+
<token postag="N . p" postag_regexp="yes">
|
|
658
|
+
<exception regexp="yes">grosses|dernières|premières|petits</exception></token>
|
|
659
|
+
<marker>
|
|
660
|
+
<token regexp="yes" inflected="yes" postag="[JN].* s" postag_regexp="yes">&couleur_invariable;
|
|
661
|
+
<exception regexp="yes">cassée?s?|briques?|tendue?s?|nuits?|perles?|plastiques?|oranges</exception></token>
|
|
662
|
+
</marker>
|
|
663
|
+
</pattern>
|
|
664
|
+
<example correction="">Elle avait les yeux <marker>marron</marker>.</example>
|
|
665
|
+
</rule>
|
|
666
|
+
<rule>
|
|
667
|
+
<pattern>
|
|
668
|
+
<token postag="V etre.*" postag_regexp="yes"/>
|
|
669
|
+
<token postag="A|C coor" postag_regexp="yes" min="0" max="3"/>
|
|
670
|
+
<marker>
|
|
671
|
+
<token regexp="yes">partante?s?</token>
|
|
672
|
+
</marker>
|
|
673
|
+
</pattern>
|
|
674
|
+
<example correction="">Tu es <marker>partant</marker> ?</example>
|
|
675
|
+
</rule>
|
|
676
|
+
</rulegroup>
|
|
677
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_VERB_FORM.*" name="">
|
|
678
|
+
<rule>
|
|
679
|
+
<pattern>
|
|
680
|
+
<token>on</token>
|
|
681
|
+
<token inflected="yes" min="0" max="1">se</token>
|
|
682
|
+
<token postag="V etre.*" postag_regexp="yes"/>
|
|
683
|
+
<token postag="A" min="0" max="3"/>
|
|
684
|
+
<token postag="J e sp" min="0" max="1">bien</token>
|
|
685
|
+
<marker>
|
|
686
|
+
<token postag="V.* ppa.* p|J . p" postag_regexp="yes">
|
|
687
|
+
<exception regexp="yes">joué(?:es|s)?|occupé(?:es|s)?|moqué(?:es|s)?|payé(?:es|s)?|plainte(?:s)?|faite(?:s)?|rendue(?:s)?</exception></token>
|
|
688
|
+
</marker>
|
|
689
|
+
</pattern>
|
|
690
|
+
<example correction="">On s'est bel et bien <marker>rencontrés</marker> hier.</example>
|
|
691
|
+
</rule>
|
|
692
|
+
<rule>
|
|
693
|
+
<pattern>
|
|
694
|
+
<token postag="V etre.*" postag_regexp="yes"/>
|
|
695
|
+
<token postag="A|C coor" postag_regexp="yes" min="0" max="3"/>
|
|
696
|
+
<marker>
|
|
697
|
+
<token regexp="yes">partante?s?</token>
|
|
698
|
+
</marker>
|
|
699
|
+
</pattern>
|
|
700
|
+
<example correction="">Tu es <marker>partant</marker> ?</example>
|
|
701
|
+
</rule>
|
|
702
|
+
<rule>
|
|
703
|
+
<pattern>
|
|
704
|
+
<token postag="SENT_START|M nonfin" postag_regexp="yes"/>
|
|
705
|
+
<token>que</token>
|
|
706
|
+
<token postag="R pers suj 1 p|R pers suj 2 p" postag_regexp="yes"/>
|
|
707
|
+
<marker>
|
|
708
|
+
<token postag="V inf"/>
|
|
709
|
+
</marker>
|
|
710
|
+
<token postag="SENT_END" regexp="yes">[.!?]</token>
|
|
711
|
+
</pattern>
|
|
712
|
+
<example correction="">Que vous <marker>souhaiter</marker> ?</example>
|
|
713
|
+
</rule>
|
|
714
|
+
<rule><!--"se rendre compte"-->
|
|
715
|
+
<pattern>
|
|
716
|
+
<marker>
|
|
717
|
+
<token postag="V ppa m s" inflected="yes">rendre</token>
|
|
718
|
+
</marker>
|
|
719
|
+
<token>compte</token>
|
|
720
|
+
</pattern>
|
|
721
|
+
<example correction="">Elles ne sont pas <marker>rendu</marker> compte.</example>
|
|
722
|
+
</rule>
|
|
723
|
+
</rulegroup>
|
|
724
|
+
<rulegroup id="AI_FR_GGEC_UNNECESSARY_ORTHOGRAPHY_SPACE.*" name="">
|
|
725
|
+
<rule>
|
|
726
|
+
<pattern>
|
|
727
|
+
<token postag="K"/>
|
|
728
|
+
<token spacebefore="no">-</token>
|
|
729
|
+
<token postag="K"/>
|
|
730
|
+
<marker>
|
|
731
|
+
<token spacebefore="no">-</token>
|
|
732
|
+
<token postag="K"/>
|
|
733
|
+
<token spacebefore="no">-</token>
|
|
734
|
+
<token postag="K" spacebefore="no"/>
|
|
735
|
+
</marker>
|
|
736
|
+
</pattern>
|
|
737
|
+
<example correction="">Deux-cent<marker>-vingt-trois</marker> personnes se sont rassemblées devant la mairie.</example>
|
|
738
|
+
</rule>
|
|
739
|
+
</rulegroup>
|
|
740
|
+
|
|
741
|
+
<rulegroup id="AI_FR_GGEC_UNNECESSARY.*" name="">
|
|
742
|
+
<rule>
|
|
743
|
+
<pattern>
|
|
744
|
+
<token postag="SENT_END" regexp="yes">[”,"]</token>
|
|
745
|
+
</pattern>
|
|
746
|
+
<example correction="">Je suis Chris.<marker>”</marker></example>
|
|
747
|
+
</rule>
|
|
748
|
+
<rule>
|
|
749
|
+
<pattern>
|
|
750
|
+
<token>"</token>
|
|
751
|
+
</pattern>
|
|
752
|
+
<example correction="">Je suis Chris.<marker>"</marker></example>
|
|
753
|
+
</rule>
|
|
754
|
+
</rulegroup>
|
|
755
|
+
|
|
756
|
+
<rulegroup id="AI_FR_GGEC_UNNECESSARY_PUNCTUATION_DASH.*" name="">
|
|
757
|
+
<rule>
|
|
758
|
+
<pattern>
|
|
759
|
+
<token postag="K"/>
|
|
760
|
+
<marker>
|
|
761
|
+
<token spacebefore="no">-</token>
|
|
762
|
+
</marker>
|
|
763
|
+
<token postag="K" spacebefore="no"/>
|
|
764
|
+
</pattern>
|
|
765
|
+
<example correction="">Deux<marker>-</marker>cents personnes se sont rassemblées devant la mairie.</example>
|
|
766
|
+
</rule>
|
|
767
|
+
</rulegroup>
|
|
768
|
+
<rulegroup id="AI_FR_GGEC_UNNECESSARY_PUNCTUATION_COMMA.*" name="">
|
|
769
|
+
<rule>
|
|
770
|
+
<pattern>
|
|
771
|
+
<token postag="SENT_START"/>
|
|
772
|
+
<token>Mais</token>
|
|
773
|
+
<marker>
|
|
774
|
+
<token spacebefore="no">,</token>
|
|
775
|
+
</marker>
|
|
776
|
+
</pattern>
|
|
777
|
+
<example correction="">Mais<marker>,</marker> qu’est-ce qui vous en empêche ?</example>
|
|
778
|
+
</rule>
|
|
779
|
+
</rulegroup>
|
|
780
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_CONFUSION_OLDSPELL.*" name="">
|
|
781
|
+
<rule>
|
|
782
|
+
<pattern>
|
|
783
|
+
<token postag="[VNJ].*" postag_regexp="yes"/>
|
|
784
|
+
</pattern>
|
|
785
|
+
<example correction="">Il ne nous <marker>reconnait</marker> plus.</example>
|
|
786
|
+
</rule>
|
|
787
|
+
</rulegroup>
|
|
788
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_PRONOUN.*" name="">
|
|
789
|
+
<rule>
|
|
790
|
+
<pattern>
|
|
791
|
+
<token postag="R pers suj 3.*|R pers obj 3.*" postag_regexp="yes" regexp="yes">iels?</token>
|
|
792
|
+
</pattern>
|
|
793
|
+
<example correction="">Mais <marker>iel</marker> a décidé de faire ça autrement.</example>
|
|
794
|
+
</rule>
|
|
795
|
+
</rulegroup>
|
|
796
|
+
<rulegroup id="AI_FR_GGEC_REPLACEMENT_PROPN_FORM.*" name="">
|
|
797
|
+
<rule>
|
|
798
|
+
<pattern>
|
|
799
|
+
<marker>
|
|
800
|
+
<token>Joyeuse</token>
|
|
801
|
+
</marker>
|
|
802
|
+
<token>Halloween</token>
|
|
803
|
+
</pattern>
|
|
804
|
+
<example correction=""><marker>Joyeuse</marker> Halloween !</example>
|
|
805
|
+
</rule>
|
|
806
|
+
</rulegroup>
|
|
807
|
+
<rulegroup id="AI_FR_MERGED_MATCH.*" name="">
|
|
808
|
+
<rule>
|
|
809
|
+
<pattern>
|
|
810
|
+
<marker>
|
|
811
|
+
<token>une</token>
|
|
812
|
+
<token>joyeuse</token>
|
|
813
|
+
</marker>
|
|
814
|
+
<token>Halloween</token>
|
|
815
|
+
</pattern>
|
|
816
|
+
<example correction="">Je vous souhaite <marker>une joyeuse</marker> Halloween !</example>
|
|
817
|
+
</rule>
|
|
818
|
+
</rulegroup>
|
|
819
|
+
</category>
|
|
820
|
+
</rules>
|