Overview
Comment: | [fr][core] découpage des phrases |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | core |
Files: | files | file ages | folders |
SHA3-256: |
119552d3ae74a7df9261dd8f412f178d |
User & Date: | olr on 2019-04-11 21:00:34 |
Other Links: | manifest | tags |
Context
2019-04-12
| ||
05:42 | [fr] écriture épicène: màj avec puce +option idoine check-in: 324ab931ac user: olr tags: trunk, fr | |
2019-04-11
| ||
21:00 | [fr][core] découpage des phrases check-in: 119552d3ae user: olr tags: trunk, fr, core | |
2019-04-09
| ||
13:39 | [fr] màj: métagraphe, màj: dictionnaire check-in: bf49a78851 user: olr tags: trunk, fr | |
Changes
Modified gc_core/js/lang_core/gc_engine.js from [827604c5fa] to [577effc815].
︙ | ︙ | |||
161 162 163 164 165 166 167 | //// Parsing parse: function (sText, sCountry="${country_default}", bDebug=false, dOptions=null, bContext=false) { let oText = new TextParser(sText); return oText.parse(sCountry, bDebug, dOptions, bContext); }, | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | //// Parsing parse: function (sText, sCountry="${country_default}", bDebug=false, dOptions=null, bContext=false) { let oText = new TextParser(sText); return oText.parse(sCountry, bDebug, dOptions, bContext); }, _zEndOfSentence: new RegExp ('([.?!:;…][ .?!…»”")]+(?=[A-ZÉÈÎÔ])|.$)', "g"), _zBeginOfParagraph: new RegExp ("^[- –—.,;?!…]*", "ig"), _zEndOfParagraph: new RegExp ("[- .,;?!…–—]*$", "ig"), getSentenceBoundaries: function* (sText) { let mBeginOfSentence = this._zBeginOfParagraph.exec(sText); let iStart = this._zBeginOfParagraph.lastIndex; let m; |
︙ | ︙ |
Modified gc_core/py/lang_core/gc_engine.py from [731ea086d0] to [ca233af37a].
︙ | ︙ | |||
187 188 189 190 191 192 193 | "set options to default values" global _dOptions _dOptions = dict(gc_options.getOptions(_sAppContext)) #### Parsing | | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | "set options to default values" global _dOptions _dOptions = dict(gc_options.getOptions(_sAppContext)) #### Parsing _zEndOfSentence = re.compile(r'([.?!:;…][ .?!…»”"’)]+(?=[A-ZÉÈÎÔ])|.$)') _zBeginOfParagraph = re.compile(r"^\W*") _zEndOfParagraph = re.compile(r"\W*$") def _getSentenceBoundaries (sText): iStart = _zBeginOfParagraph.match(sText).end() for m in _zEndOfSentence.finditer(sText): yield (iStart, m.end()) |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [266171b6a8] to [67b204300b].
︙ | ︙ | |||
489 490 491 492 493 494 495 | <<- \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("-","") | < < < < | 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 | <<- 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. | < < < < < < < < < | 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 | !!! # 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 | | < | 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 | # !!!! Redondances dans la phrase !! __[i]/redon2(redondances_phrase)__ ({w_4})[ ,].* (\1) @@0,$ | | | | 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 à |
︙ | ︙ |