| ︙ |  |  | ︙ |  | 
| 
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506 | 
    <<- \0.__len__() == 4 ->> =\0.replace(".", "").upper() + "|" + \0[0:2] + " " + \0[2:4]
    # Sigle. Il est recommandé d’ôter les points pour les sigles. (S’il s’agit d’un prénom et d’un nom, mettez un espace.)|https://fr.wikipedia.org/wiki/Sigle#Typographie
    <<- __else__ ->> =\0.replace(".", "").upper()                                                   # Sigle. Il est recommandé d’ôter les points pour les sigles.|https://fr.wikipedia.org/wiki/Sigle#Typographie
    <<- \0 != "b.a." ~>> =\0.replace(".", "_")
__[s>(p_sigle3)__
    J[.]-[A-Z][.] <<- ~>> =\0.replace(".", "").replace("-","")
# Mr et MM
__[s>(p_M_point)__
    (M[.]) (?:[A-ZÉÈÎ]\w*|l[e'’])  @@0 <<- ~1>> Mr
__[s>(p_MM_point)__
    MM[.] <<- ~>> "MM "
__[s>(p_Mr_Mgr_Mme_point)__
    M(?:r|gr|me) [A-ZÉ]([.])(?=\W+[a-zéèêâîïû]) @@$ <<- ~1>> *# Ne pas scinder la phrase si les points de suspension sont suivis d’une minuscule__<s>(p_points_suspension)__    ({w1})(…)(?= [a-zéèêàâîô])  @@0,$ <<- not re.search("(?i)^etc", \1) ~2>> , | 
<
<
<
<
 | 
489
490
491
492
493
494
495
496
497
498
499
500
501
502
 | 
    <<- \0.__len__() == 4 ->> =\0.replace(".", "").upper() + "|" + \0[0:2] + " " + \0[2:4]
    # Sigle. Il est recommandé d’ôter les points pour les sigles. (S’il s’agit d’un prénom et d’un nom, mettez un espace.)|https://fr.wikipedia.org/wiki/Sigle#Typographie
    <<- __else__ ->> =\0.replace(".", "").upper()                                                   # Sigle. Il est recommandé d’ôter les points pour les sigles.|https://fr.wikipedia.org/wiki/Sigle#Typographie
    <<- \0 != "b.a." ~>> =\0.replace(".", "_")
__[s>(p_sigle3)__
    J[.]-[A-Z][.] <<- ~>> =\0.replace(".", "").replace("-","")
# Mr et MM
__[s>(p_M_point)__
    (M[.]) (?:[A-ZÉÈÎ]\w*|l[e'’])  @@0 <<- ~1>> Mr
__[s>(p_MM_point)__
    MM[.] <<- ~>> "MM "
__[s>(p_Mr_Mgr_Mme_point)__
    M(?:r|gr|me) [A-ZÉ]([.])(?=\W+[a-zéèêâîïû]) @@$ <<- ~1>> *
 | 
| ︙ |  |  | ︙ |  | 
| 
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330 | 
    <<- not morph(word(1), ";S") and not morph(word(-1), ":R") ->> " !"                             # Erreur de numérisation ?
TEST: __ocr__ Oh{{ I}} c’est pas formidable ?
TEST: __ocr__ Vraiment{{ 1}} Paul n’en savait rien.
TEST: __ocr__ Ça prendra 1 h.
TEST: __ocr__ Valeur : 1 KHz.
# Nombres
__[i]/ocr(ocr_nombres)__
    [\dOI][\dOI]+
        <<- \0 == "II" ->> 11|Il                                                                    # Erreur de numérisation ?
        <<- __else__ and not \0.isdigit() ->> =\0.replace("O", "0").replace("I", "1")               # Erreur de numérisation ?# virgules__[s>/ocr(ocr_virgules)__    (?:[iI]l|l(?:es?|a)|[dnmtsDNMTS]e|[àÀ]|[cC]e(?:te|t|)|[mM](?:on|a)|[TS]a|[qQ]uelques?|[aA]ux?),    <<- not /0.endswith("…") ->> =\0[:-1]                                                           # Erreur de numérisation ? Virgule superflue ?TEST: __ocr__ Pierre entre pour {{se,}} rapprocher de LTEST: __ocr__ je voudrais faire une question ou deux sur une maison de ce village, la… comment l’appelle-t-on ? | 
<
<
<
<
<
<
<
<
<
 | 
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
 | 
    <<- not morph(word(1), ";S") and not morph(word(-1), ":R") ->> " !"                             # Erreur de numérisation ?
TEST: __ocr__ Oh{{ I}} c’est pas formidable ?
TEST: __ocr__ Vraiment{{ 1}} Paul n’en savait rien.
TEST: __ocr__ Ça prendra 1 h.
TEST: __ocr__ Valeur : 1 KHz.
# Nombres
__[i]/ocr(ocr_nombres)__
    [\dOI][\dOI]+
        <<- \0 == "II" ->> 11|Il                                                                    # Erreur de numérisation ?
        <<- __else__ and not \0.isdigit() ->> =\0.replace("O", "0").replace("I", "1")               # Erreur de numérisation ?
 | 
| ︙ |  |  | ︙ |  | 
| 
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451 | 
!!!
# Trait d’union conditionnel (u00AD)
__[i](p_trait_union_conditionnel1)__    \w+‑\w+‑\w+ <<- ~>> =\0.replace("‑", "")
__[i](p_trait_union_conditionnel2)__    \w+‑\w+ <<- ~>> =\0.replace("‑", "")
# empêcher la scission en fin de dialogue
__<s>(p_fin_dialogueTEST: « Je suis donc perdu ? », dit Paul.
TEST: “C’est bon !”, croit savoir Marie.
TEST: “Parce que… ?” finit par demander Paul.
TEST: « Dans quel pays sommes-nous ? » demanda un manifestant.1)__    ([?!…][?!…  ]*)[ "'”» ]*,  @@0 <<- ~1>> *__<s>(p_fin_dialogue2)__    ([?!…][?!…  ]*)[ "'”» ]*[a-zéèêîô]  @@0 <<- ~1>> , | 
|
<
 | 
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
 | 
!!!
# Trait d’union conditionnel (u00AD)
__[i](p_trait_union_conditionnel1)__    \w+‑\w+‑\w+ <<- ~>> =\0.replace("‑", "")
__[i](p_trait_union_conditionnel2)__    \w+‑\w+ <<- ~>> =\0.replace("‑", "")
# empêcher la scission en fin de dialogue
__<s>(p_fin_dialogue)__    ([?!…][?!…  ]*)[ "'”» ]*,  @@0 <<- ~1>> *
TEST: « Je suis donc perdu ? », dit Paul.
TEST: “C’est bon !”, croit savoir Marie.
TEST: “Parce que… ?” finit par demander Paul.
TEST: « Dans quel pays sommes-nous ? » demanda un manifestant.
 | 
| ︙ |  |  | ︙ |  | 
| 
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
 | 
@@@@
@@@@
@@@@
@@@@
# This graph is parsed only if option <ocr> is activated.
# âge / age
__ocr_age__
    >age
        <<- ->> =\1.replace("a", "â").replace("A", "Â")                                             # Erreur de numérisation ?
TEST: __ocr__ À son {{age}}, on ne sait plus ce qu’on fait.
 | 
>
>
>
>
>
>
>
>
 | 
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
 | 
@@@@
@@@@
@@@@
@@@@
# 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] ,
        <<- /ocr/ 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__
    >age
        <<- ->> =\1.replace("a", "â").replace("A", "Â")                                             # Erreur de numérisation ?
TEST: __ocr__ À son {{age}}, on ne sait plus ce qu’on fait.
 | 
| ︙ |  |  | ︙ |  | 
| 
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
 | 
# bien
__sgpl_très_bien__
    très biens
        <<- /sgpl/ -2>> bien                                        # Adverbe ou adjectif, “bien” est invariable.|https://fr.wiktionary.org/wiki/bien
TEST: Très {{biens}} connus des services de police, il leur fut difficile de passer entre les mailles du filet.
# termes
__sgpl_en_termes_de__
    en terme [de|d’]
        <<- /sgpl/ -2>> termes                                      # Dans la locution “en termes de”, mettez “terme” au pluriel.
TEST: en {{terme}} de communication, c’est une véritable catastrophe
 | 
>
>
>
>
>
>
>
>
>
>
 | 
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
 | 
# bien
__sgpl_très_bien__
    très biens
        <<- /sgpl/ -2>> bien                                        # Adverbe ou adjectif, “bien” est invariable.|https://fr.wiktionary.org/wiki/bien
TEST: Très {{biens}} connus des services de police, il leur fut difficile de passer entre les mailles du filet.
# entre autres
__sgpl_entre_autres__
    entre autre ,
    entre autre @:(?:[GW]|[NA].*:[pi])
        <<- /sgpl/ -2>> autres                                      # La locution “entre autres”, toujours au pluriel.|https://fr.wiktionary.org/wiki/entre_autres
TEST: Des raisons ? Entre {{autre}} je n’en savais pas plus que lui.
TEST: il y eut, entre {{autre}}, des erreurs commises.
# termes
__sgpl_en_termes_de__
    en terme [de|d’]
        <<- /sgpl/ -2>> termes                                      # Dans la locution “en termes de”, mettez “terme” au pluriel.
TEST: en {{terme}} de communication, c’est une véritable catastrophe
 | 
| ︙ |  |  | ︙ |  | 
| 
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795 | 
#
!!!! Redondances dans la phrase                                                                   !!
__[i]/redon2(redondances_phrase)__
    ({w_4})[ ,].* (\1)  @@0,$
        <<- not morph(\1, ":(?:G|V0)|>même/") -2>> _                    # Dans cette phrase, répétition de TEST: __redon2__ Quelle {{imposture}}, c’est d’un ennui, c’est une {{imposture}}.
TEST: __redon2__ ils sont là côte à côte.
TEST: __redon2__ Tu avances petit à petit, et tu réussis.
TEST: __redon2__ De loin en loin, elle passe.
TEST: __redon2__ Les mêmes causes produisent/produisant les mêmes effets. (répétition)« \1 »(à gauche).
        <<- __also__ -1>> _                                             # Dans cette phrase, répétition de« \1 »(à droite). | 
|
|
 | 
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
 | 
#
!!!! Redondances dans la phrase                                                                   !!
__[i]/redon2(redondances_phrase)__
    ({w_4})[ ,].* (\1)  @@0,$
        <<- not morph(\1, ":(?:G|V0)|>même/") -2>> _                                                # Dans cette phrase, répétition de “\1” (à gauche).
        <<- __also__ -1>> _                                                                         # Dans cette phrase, répétition de “\1” (à droite).
TEST: __redon2__ Quelle {{imposture}}, c’est d’un ennui, c’est une {{imposture}}.
TEST: __redon2__ ils sont là côte à côte.
TEST: __redon2__ Tu avances petit à petit, et tu réussis.
TEST: __redon2__ De loin en loin, elle passe.
TEST: __redon2__ Les mêmes causes produisent/produisant les mêmes effets. (répétition)
 | 
| ︙ |  |  | ︙ |  | 
| 
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
 | 
TEST: en tâche de fond
TEST: la tâche de la justice
TEST: c’est une tâche de grande envergure
TEST: déléguer des tâches de sécurité publique à des machines autonomes
TEST: tirer bénéfice de nouvelles données en fonction de la tâche de départ qui leur a été assignée
TEST: Les « pervenches » fonctionnaires seraient alors affectées à d’autres tâches de surveillance, notamment au sein de la nouvelle brigade anti-insécurité.
TEST: une tâche de sélection des données
__conf_tâche_tache__
    tache [accomplie|dévalorisante|difforme|épuisante|exécutée|exténuante|fatigante|ingrate|menée|valorisante]
    taches [accomplies|dévalorisantes|difformes|épuisantes|exécutées|exténuantes|fatigantes|ingrates|menées|valorisantes]
    >tache >insoluble
    >tache consistant à
 | 
>
 | 
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
 | 
TEST: en tâche de fond
TEST: la tâche de la justice
TEST: c’est une tâche de grande envergure
TEST: déléguer des tâches de sécurité publique à des machines autonomes
TEST: tirer bénéfice de nouvelles données en fonction de la tâche de départ qui leur a été assignée
TEST: Les « pervenches » fonctionnaires seraient alors affectées à d’autres tâches de surveillance, notamment au sein de la nouvelle brigade anti-insécurité.
TEST: une tâche de sélection des données
TEST: les agents peu nombreux sont accaparés par le court terme et les tâches de gestion
__conf_tâche_tache__
    tache [accomplie|dévalorisante|difforme|épuisante|exécutée|exténuante|fatigante|ingrate|menée|valorisante]
    taches [accomplies|dévalorisantes|difformes|épuisantes|exécutées|exténuantes|fatigantes|ingrates|menées|valorisantes]
    >tache >insoluble
    >tache consistant à
 | 
| ︙ |  |  | ︙ |  |