Overview
Comment: | [fr] faux positifs (OCR) et casse |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: |
49dbba531c3ddd48f4fc5e739a3206cb |
User & Date: | olr on 2019-04-15 20:00:09 |
Other Links: | manifest | tags |
Context
2019-04-16
| ||
14:16 | [fx] grammar checking: autorefresh after edition check-in: 6bd3d5409b user: olr tags: trunk, fx | |
2019-04-15
| ||
20:00 | [fr] faux positifs (OCR) et casse check-in: 49dbba531c user: olr tags: trunk, fr | |
2019-04-14
| ||
20:24 | [fr] faux positif check-in: 30f8e2f6b3 user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/rules.grx from [08bd24720e] to [584420d652].
︙ | ︙ | |||
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | OPTPRIORITY/ocr: 3 # COLORS are must be described with the HSL format (0-360, 0-100 %, 0-100 %) [don’t write the sign %] COLOR/orange: 30,70,50 COLOR/orange2: 40,90,50 COLOR/violet: 270,45,35 COLOR/bleu: 210,50,50 COLOR/fuschia: 300,30,40 COLOR/cyan: 180,50,40 COLOR/grey: 0,50,50 COLOR/orange_vif: 30,100,40 COLOR/orange2_vif: 50,100,40 COLOR/violet_vif: 270,100,40 COLOR/bleu_vif: 210,100,30 COLOR/vert_vif: 120,100,30 COLOR/cyan_vif: 180,100,40 OPTCOLORTHEME: Default Writer OPTCOLOR/typo: orange orange_vif OPTCOLOR/apos: orange2 orange2_vif OPTCOLOR/eepi: orange2 orange2_vif OPTCOLOR/esp: orange orange_vif OPTCOLOR/tab: orange orange_vif OPTCOLOR/nbsp: orange orange_vif OPTCOLOR/tu: orange orange_vif OPTCOLOR/maj: orange orange_vif OPTCOLOR/num: orange orange_vif OPTCOLOR/virg: orange orange_vif OPTCOLOR/poncfin: orange orange_vif OPTCOLOR/unit: orange orange_vif OPTCOLOR/nf: orange orange_vif OPTCOLOR/liga: orange orange_vif OPTCOLOR/mapos: orange orange_vif OPTCOLOR/chim: orange orange_vif | > > | | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | OPTPRIORITY/ocr: 3 # COLORS are must be described with the HSL format (0-360, 0-100 %, 0-100 %) [don’t write the sign %] COLOR/orange: 30,70,50 COLOR/orange2: 40,90,50 COLOR/violet: 270,45,35 COLOR/bleu: 210,50,50 COLOR/bleupr: 240,40,60 COLOR/fuschia: 300,30,40 COLOR/cyan: 180,50,40 COLOR/grey: 0,50,50 COLOR/orange_vif: 30,100,40 COLOR/orange2_vif: 50,100,40 COLOR/violet_vif: 270,100,40 COLOR/bleu_vif: 210,100,30 COLOR/vert_vif: 120,100,30 COLOR/cyan_vif: 180,100,40 COLOR/bleupr_vif: 240,100,60 OPTCOLORTHEME: Default Writer OPTCOLOR/typo: orange orange_vif OPTCOLOR/apos: orange2 orange2_vif OPTCOLOR/eepi: orange2 orange2_vif OPTCOLOR/esp: orange orange_vif OPTCOLOR/tab: orange orange_vif OPTCOLOR/nbsp: orange orange_vif OPTCOLOR/tu: orange orange_vif OPTCOLOR/maj: orange orange_vif OPTCOLOR/num: orange orange_vif OPTCOLOR/virg: orange orange_vif OPTCOLOR/poncfin: orange orange_vif OPTCOLOR/unit: orange orange_vif OPTCOLOR/nf: orange orange_vif OPTCOLOR/liga: orange orange_vif OPTCOLOR/mapos: orange orange_vif OPTCOLOR/chim: orange orange_vif OPTCOLOR/ocr: bleupr bleupr_vif OPTCOLOR/conf: violet violet_vif OPTCOLOR/sgpl: bleu bleu_vif OPTCOLOR/gn: bleu bleu_vif OPTCOLOR/infi: fuschia vert_vif OPTCOLOR/conj: fuschia vert_vif OPTCOLOR/ppas: fuschia vert_vif OPTCOLOR/imp: fuschia vert_vif |
︙ | ︙ | |||
1320 1321 1322 1323 1324 1325 1326 | <<- __else__ and not \0.isdigit() ->> =\0.replace("O", "0").replace("I", "1") # Erreur de numérisation ? TEST: __ocr__ {{II}} pleut tout le temps. TEST: __ocr__ En l’an {{2OO1}}, tout commença. ## Casse | | < < < < < < < < < < < < < < < < < < < < < < < < < < | 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 | <<- __else__ and not \0.isdigit() ->> =\0.replace("O", "0").replace("I", "1") # Erreur de numérisation ? TEST: __ocr__ {{II}} pleut tout le temps. TEST: __ocr__ En l’an {{2OO1}}, tout commença. ## Casse __[s]/ocr(ocr_casse_pronom_vconj)__ {w2}-(On|Ils?|Elles?|Tu|Je|Nous|Vous|Mêmes?|Ci|Là|Une?s) @@$ <<- -1>> =\1.lower() # Erreur de numérisation ? Casse douteuse. TEST: __ocr__ Part-{{On}} demain ? TEST: __ocr__ À ce compte-{{Ci}}, on n’en viendra jamais à bout. TEST: __ocr__ Quelques-{{Uns}} sont incapables d’y parvenir. ## Lettres isolées # Note: l’option “mapos” cherche les apostrophes manquantes après les lettres l, d, n, m, t, s, j, c, ç __[s]/ocr(ocr_lettres_isolées)!2__ \w(?!’) <<- not re.search("[0-9aàAÀyYdlnmtsjcçDLNMTSJCÇ_]", \0) and not before("\\d[ ]+$") and not (\0.isupper() and after0(r"^\.")) ->> _ # Lettre isolée : erreur de numérisation ? |
︙ | ︙ | |||
1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 | __[i>/typo(typo_quelque)__ (quelqu[’'])(?!une?) @@0 <<- -1>> "quelque " # Pas d’élision autorisée sur “quelque”, sauf avec “quelqu’un” ou “quelqu’une”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1745 TEST: {{Quelqu’}}absurde que ce soit, il faut y céder. TEST: quelqu’un vient. TEST: elle s’en est allée avec quelqu’une… @@@@ @@@@ @@@@ @@@@ | > > | 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 | __[i>/typo(typo_quelque)__ (quelqu[’'])(?!une?) @@0 <<- -1>> "quelque " # Pas d’élision autorisée sur “quelque”, sauf avec “quelqu’un” ou “quelqu’une”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1745 TEST: {{Quelqu’}}absurde que ce soit, il faut y céder. TEST: quelqu’un vient. TEST: elle s’en est allée avec quelqu’une… @@@@ @@@@ @@@@ @@@@ |
︙ | ︙ | |||
2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 | @@@@GRAPH: ocr _ @@@@ @@@@ @@@@ @@@@ # This graph is parsed only if option <ocr> is activated. # virgules __ocr_virgules__ [il|le|la|l’|les|de|d’|ne|n’|me|m’|te|t’|se|s’|à|ce|cet|cette|mon|ma|ta|sa|mes|tes|ses|nos|vos|quelque|quelques|au|aux] , | > > > > > > > > > > > > > > > > > > > > > > > > > | | 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 | @@@@GRAPH: ocr _ @@@@ @@@@ @@@@ @@@@ # This graph is parsed only if option <ocr> is activated. ## Casse __ocr_casse__ ~^[A-ZÉÈÂÊÎÔ]. <<- \1.istitle() and before("\\w") and (morph(\1, ":G", ":M") or morph(\1, ":[123][sp]", ":[MNA]|>Est/")) -:>> =\1.lower() # Erreur de numérisation ? Casse improbable. [L’|D’|N’|M’|T’|S’|C’|Ç’] <<- before("\\w") -:>> =\1.lower() # Erreur de numérisation ? Casse douteuse. TEST: __ocr__ regarde dans l’obscurité de {{L’}}entrepôt ->> l’ TEST: __ocr__ votre ami la regarde, {{Vous}} ne l’avez pas achetée ->> vous TEST: __ocr__ pour accommoder son regard, {{La}} lourde forme demeure ->> la TEST: __ocr__ parler de Nicole, {{Le}} sommeil ne vient pas. ->> le TEST: __ocr__ a fait de toi, Charles, {{Tu}} étais beau quand ->> tu TEST: __ocr__ s’habituer à se faire servir, {{Au}} début ça ->> au TEST: __ocr__ Tu as tué ce petit garçon, Henri, {{Et}} tu le sais. ->> et TEST: __ocr__ d’un fil de plastique transparent, {{Il}} l’agite ->> il TEST: __ocr__ sur une glace noire {{Les}} lumières du port ->> les TEST: __ocr__ le roulis du bateau {{Le}} faisant heurter ->> le TEST: __ocr__ si vous {{La}} désirez ->> la TEST: __ocr__ sa main se referme sur {{Je}} livre ->> je TEST: __ocr__ Ils étaient portés à croire que Danton et Robespierre ne mettraient aucun obstacle. Le 8 au soir, Robespierre était allé à la section Bonne-Nouvelle, avait invectivé violemment contre la Gironde. Pendant son discours, un des siens, qui l’attendait à la porte, disait qu’on devrait massacrer non les Girondins seulement, mais tous les signataires des fameuses pétitions. TEST: __ocr__ Prends cette pelle et creuse. # virgules __ocr_virgules__ [il|le|la|l’|les|de|d’|ne|n’|me|m’|te|t’|se|s’|à|ce|cet|cette|mon|ma|ta|sa|mes|tes|ses|nos|vos|quelque|quelques|au|aux] , <<- space_after(\1, 0, 0) and not \1.isupper() or value(\1, "|à|") ->> \1 # Erreur de numérisation ? Virgule superflue ? TEST: __ocr__ Pierre entre pour {{se,}} rapprocher de L TEST: __ocr__ je voudrais faire une question ou deux sur une maison de ce village, la… comment l’appelle-t-on ? # âge / age __ocr_age__ |
︙ | ︙ | |||
2521 2522 2523 2524 2525 2526 2527 | TEST: __ocr__ {{I’arrive}} demain. # l’ / V / P __ocr_l__ ~^V. <<- \1.istitle() and before("\\w") and morph(\1, ":", ":M") >>> | | | | 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 | TEST: __ocr__ {{I’arrive}} demain. # l’ / V / P __ocr_l__ ~^V. <<- \1.istitle() and before("\\w") and morph(\1, ":", ":M") >>> <<- spell(\1[1:]) -:>> ="v"+\1[1:] + "|l’"+\1[1:] # Erreur de numérisation ? <<- __else__ -:>> ="v"+\1[1:] # Erreur de numérisation ? ~^P[aâeéêèiîïoôuy] <<- before("\\w") and morph(\1, ":", ":M") and spell(\1) ->> ="l’"+\1[1:] + "|p"+\1[1:] # Erreur de numérisation ? TEST: __ocr__ beaucoup de {{Vélos}} à Versailles. TEST: __ocr__ avec {{Vagile}} méthode de notre amie Virginie, tout est possible. TEST: __ocr__ Viens demain. |
︙ | ︙ | |||
3911 3912 3913 3914 3915 3916 3917 | !!!! Accentuation des majuscules !! __maj_accents__ [Etat|Etats|Eglise|Eglises|Ecole|Ecoles|Economie|Equipe|Equipes|Electricité|Electrique|Egalité|Element|Element|Eté|Epoux|Epouse|Epouses|Ethiopie|Erythrée|Egypte|Equateur|Elysée] <<- /maj/ ->> ="É"+\1[1:] # Accentuez les majuscules. <<- ~>> ="É"+\1[1:] | | > | 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 | !!!! Accentuation des majuscules !! __maj_accents__ [Etat|Etats|Eglise|Eglises|Ecole|Ecoles|Economie|Equipe|Equipes|Electricité|Electrique|Egalité|Element|Element|Eté|Epoux|Epouse|Epouses|Ethiopie|Erythrée|Egypte|Equateur|Elysée] <<- /maj/ ->> ="É"+\1[1:] # Accentuez les majuscules. <<- ~>> ="É"+\1[1:] TEST: Le budget de l’{{Etat}}. ->> État !! !! !!!! Incohérences de base !! !! |
︙ | ︙ | |||
8739 8740 8741 8742 8743 8744 8745 | __maj_unités__ *NUM [Mètre|Watt|Gramme|Seconde|Ampère|Kelvin|Mole|Candela|Candéla|Hertz|Henry|Newton|Pascal|Joule|Coulomb|Volt|Ohm|Farad|Tesla|Weber|Wéber|Radian|Stéradian|Lumen|Lux|Becquerel|Gray|Sievert|Siemens|Katal|Mètres|Watts|Grammes|Secondes|Ampères|Kelvins|Moles|Candelas|Candélas|Hertz|Henrys|Newtons|Pascals|Joules|Coulombs|Volts|Ohms|Farads|Teslas|Webers|Wébers|Radians|Stéradians|Lumens|Becquerels|Grays|Sieverts|Katals] @:B [Mètre|Watt|Gramme|Seconde|Ampère|Kelvin|Mole|Candela|Candéla|Hertz|Henry|Newton|Pascal|Joule|Coulomb|Volt|Ohm|Farad|Tesla|Weber|Wéber|Radian|Stéradian|Lumen|Lux|Becquerel|Gray|Sievert|Siemens|Katal|Mètres|Watts|Grammes|Secondes|Ampères|Kelvins|Moles|Candelas|Candélas|Hertz|Henrys|Newtons|Pascals|Joules|Coulombs|Volts|Ohms|Farads|Teslas|Webers|Wébers|Radians|Stéradians|Lumens|Becquerels|Grays|Sieverts|Katals] *NUM ~(?:Exa|P[ée]ta|Téra|Giga|Méga|Kilo|Hecto|Déc[ai]|Centi|Milli|Micro|Nano|Pico|Femto|Atto|Ze(?:pto|tta)|Yo(?:cto|etta))(?:mètre|watt|gramme|seconde|ampère|kelvin|mole|cand[eé]la|hertz|henry|newton|pascal|joule|coulomb|volt|ohm|farad|tesla|w[eé]ber|radian|stéradian|lumen|lux|becquerel|gray|sievert|siemens|katal)s?$ @:B ~(?:Exa|P[ée]ta|Téra|Giga|Méga|Kilo|Hecto|Déc[ai]|Centi|Milli|Micro|Nano|Pico|Femto|Atto|Ze(?:pto|tta)|Yo(?:cto|etta))(?:mètre|watt|gramme|seconde|ampère|kelvin|mole|cand[eé]la|hertz|henry|newton|pascal|joule|coulomb|volt|ohm|farad|tesla|w[eé]ber|radian|stéradian|lumen|lux|becquerel|gray|sievert|siemens|katal)s?$ <<- /maj/ not \2.isupper() -2:>> =\2.lower() # Pas de majuscule sur les unités de mesure.|https://fr.wikipedia.org/wiki/Unit%C3%A9_de_mesure | | | | 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 | __maj_unités__ *NUM [Mètre|Watt|Gramme|Seconde|Ampère|Kelvin|Mole|Candela|Candéla|Hertz|Henry|Newton|Pascal|Joule|Coulomb|Volt|Ohm|Farad|Tesla|Weber|Wéber|Radian|Stéradian|Lumen|Lux|Becquerel|Gray|Sievert|Siemens|Katal|Mètres|Watts|Grammes|Secondes|Ampères|Kelvins|Moles|Candelas|Candélas|Hertz|Henrys|Newtons|Pascals|Joules|Coulombs|Volts|Ohms|Farads|Teslas|Webers|Wébers|Radians|Stéradians|Lumens|Becquerels|Grays|Sieverts|Katals] @:B [Mètre|Watt|Gramme|Seconde|Ampère|Kelvin|Mole|Candela|Candéla|Hertz|Henry|Newton|Pascal|Joule|Coulomb|Volt|Ohm|Farad|Tesla|Weber|Wéber|Radian|Stéradian|Lumen|Lux|Becquerel|Gray|Sievert|Siemens|Katal|Mètres|Watts|Grammes|Secondes|Ampères|Kelvins|Moles|Candelas|Candélas|Hertz|Henrys|Newtons|Pascals|Joules|Coulombs|Volts|Ohms|Farads|Teslas|Webers|Wébers|Radians|Stéradians|Lumens|Becquerels|Grays|Sieverts|Katals] *NUM ~(?:Exa|P[ée]ta|Téra|Giga|Méga|Kilo|Hecto|Déc[ai]|Centi|Milli|Micro|Nano|Pico|Femto|Atto|Ze(?:pto|tta)|Yo(?:cto|etta))(?:mètre|watt|gramme|seconde|ampère|kelvin|mole|cand[eé]la|hertz|henry|newton|pascal|joule|coulomb|volt|ohm|farad|tesla|w[eé]ber|radian|stéradian|lumen|lux|becquerel|gray|sievert|siemens|katal)s?$ @:B ~(?:Exa|P[ée]ta|Téra|Giga|Méga|Kilo|Hecto|Déc[ai]|Centi|Milli|Micro|Nano|Pico|Femto|Atto|Ze(?:pto|tta)|Yo(?:cto|etta))(?:mètre|watt|gramme|seconde|ampère|kelvin|mole|cand[eé]la|hertz|henry|newton|pascal|joule|coulomb|volt|ohm|farad|tesla|w[eé]ber|radian|stéradian|lumen|lux|becquerel|gray|sievert|siemens|katal)s?$ <<- /maj/ not \2.isupper() -2:>> =\2.lower() # Pas de majuscule sur les unités de mesure.|https://fr.wikipedia.org/wiki/Unit%C3%A9_de_mesure TEST: J’en veux 3 {{Mètres}}. ->> mètres TEST: Elle en prendra vingt {{Grammes}}. ->> grammes !! !! !!!! Locutions invariables !! !! |
︙ | ︙ | |||
8769 8770 8771 8772 8773 8774 8775 | comme [convenus|convenue|convenues] <<- /sgpl/ -2>> convenu # Invariable. Implicitement, comme ce qui était convenu. comme [prévue|prévus|prévues] <<- /sgpl/ -2>> prévu # Invariable. Implicitement, comme ce qui était prévu. | < | | | | | | | 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 | comme [convenus|convenue|convenues] <<- /sgpl/ -2>> convenu # Invariable. Implicitement, comme ce qui était convenu. comme [prévue|prévus|prévues] <<- /sgpl/ -2>> prévu # Invariable. Implicitement, comme ce qui était prévu. TEST: il y en a autant que {{prévus}}. TEST: elles sont plus nombreuses plus que {{prévues}} TEST: il y a moins de bouffe que {{prévue}} TEST: comme {{annoncés}}, ils sont arrivés ->> annoncé TEST: moins loin que {{prévus}} ->> prévu TEST: plus rapide que {{prévues}} ->> prévu TEST: autant d’hommes que {{prévus}} ->> prévu TEST: il y en a moins que {{prévues}} ->> prévu TEST: comme {{convenus}} ->> convenu !! !! !!!! Tout, tous, toute, toutes !! !! |
︙ | ︙ |