Overview
Comment: | [graphspell] tokenizer: exclude underscore from WORD token [fr] ajustements, écriture inclusive |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | major_change | graphspell |
Files: | files | file ages | folders |
SHA3-256: |
cfbaf0ad4e6eb9bb2951e63158c5ea7a |
User & Date: | olr on 2020-10-01 14:50:13 |
Other Links: | manifest | tags |
Context
2020-10-02
| ||
09:32 | [graphspell] tokenizer: token UNDERSCORE check-in: e2313363fe user: olr tags: trunk, graphspell | |
2020-10-01
| ||
14:50 | [graphspell] tokenizer: exclude underscore from WORD token [fr] ajustements, écriture inclusive check-in: cfbaf0ad4e user: olr tags: trunk, fr, major_change, graphspell | |
2020-09-30
| ||
16:19 | [fr] update tests check-in: ec053526e5 user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/modules-js/gce_suggestions.js from [0b731f6b4f] to [3ee9926088].
︙ | |||
667 668 669 670 671 672 673 | 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 | - - - - + + + + + | return "st"; } return "_"; } const _dNormalizedCharsForInclusiveWriting = new Map([ |
Modified gc_lang/fr/modules/gce_suggestions.py from [5701f141a0] to [0e43053b7b].
︙ | |||
525 526 527 528 529 530 531 | 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 | - - - - + + + + - + | return "st" return "_" _xNormalizedCharsForInclusiveWriting = str.maketrans({ |
Modified gc_lang/fr/perf_memo.txt from [e113d352f1] to [5cb40c8830].
︙ | |||
31 32 33 34 35 36 37 | 31 32 33 34 35 36 37 38 | + | 1.9.0 2020.04.20 19:57 1.51183 0.369546 0.25681 0.0734314 0.0764396 0.0785668 0.183922 0.103674 0.0185812 0.002099 (NFC normalization) 1.9.2 2020.05.12 08:43 1.62465 0.398831 0.273012 0.0810811 0.080937 0.0845885 0.204133 0.114146 0.0212864 0.0029547 1.12.2 2020.09.09 13:34 1.50568 0.374504 0.233108 0.0798712 0.0804466 0.0769674 0.171519 0.0945132 0.0165344 0.0019474 1.12.2 2020.09.09 13:35 1.41094 0.359093 0.236443 0.06968 0.0734418 0.0738087 0.169371 0.0946279 0.0167106 0.0019773 1.12.2 2020.09.11 19:16 1.35297 0.330545 0.221731 0.0666998 0.0692539 0.0701707 0.160564 0.0891676 0.015807 0.0045998 1.12.2 2020.09.30 14:50 1.37531 0.330381 0.226012 0.0668063 0.0690574 0.0694727 0.160282 0.0929373 0.0176629 0.0019713 1.12.2 2020.09.30 17:01 1.37168 0.329009 0.248127 0.0670758 0.0701238 0.0910568 0.170556 0.093876 0.0168925 0.0020051 1.12.2 2020.10.01 11:18 1.36493 0.34176 0.24473 0.0691607 0.0720002 0.0903613 0.170067 0.0934571 0.0174357 0.0019585 |
Modified gc_lang/fr/rules.grx from [42e8c93b4a] to [339e0d4e7e].
︙ | |||
560 561 562 563 564 565 566 | 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 | - + - + - + | ([A-Z][.][A-Z][.](?:[A-Z][.])*) +[A-ZÉÀÂÊÎÈÔ] @@0 <<- ~1>> =\1.replace(".", "")+"." __[s>(p_sigle2)__ [a-zA-Z][.][a-zA-Z][.](?:[a-zA-Z][.])* <<- not re.search("(?i)^(?:i\\.e\\.|s\\.[tv]\\.p\\.|e\\.g\\.|a\\.k\\.a\\.|c\\.q\\.f\\.d\\.|b\\.a\\.|n\\.b\\.)$", \0) >>> <<- \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 |
︙ | |||
787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 | 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 | + + - + - + - + - - - + + + - - + + + + - + - - + + - - + + - + - - - + + + + + + - - - + + + - | __[i](eepi_écriture_épicène_tous_toutes)__ tous?[.(/·•⋅–—-]te[.)/·•⋅–—-]?s <<- option("eepi") ->> tous et toutes|toutes et tous && Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes. <<- ~>> =normalizeInclusiveWriting(\0) TEST: {{tou.tes}} sont là. ->> tous et toutes|toutes et tous TEST: {{tou·tes}} sont là. ->> tous et toutes|toutes et tous __[i](eepi_écriture_épicène_ceux_celles)__ c[./·•⋅–—-]?eux?[./·•⋅–—-]elles <<- option("eepi") ->> ceux et celles|celles et ceux && Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes. <<- ~>> =normalizeInclusiveWriting(\0) TEST: avec {{ceux.elles}} qui viendront ->> ceux et celles|celles et ceux TEST: {{c·eux·elles}} ->> ceux et celles|celles et ceux |
︙ | |||
1469 1470 1471 1472 1473 1474 1475 | 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 | - - - + + + | TEST: __ocr__ il le jura sur {{1a}} tête de sa mère TEST: __ocr__ {{1c}} chat du voinsin est idiot TEST: __ocr__ {{[e}} chien a faim __[i]/conf(conf_1e_1a_1es)__ [1[\]][ea]s? |
︙ | |||
1600 1601 1602 1603 1604 1605 1606 | 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 | - - - - - - - - - - | __[s]/num(num_lettre_O_zéro1)__ [\dO]+[O][\dO]+ <<- not option("ocr") ->> =\0.replace("O", "0") && S’il s’agit d’un nombre, utilisez le chiffre « 0 » plutôt que la lettre « O ». __[s]/num(num_lettre_O_zéro2)__ [1-9]O <<- not option("ocr") ->> =\0.replace("O", "0") && S’il s’agit d’un nombre, utilisez le chiffre « 0 » plutôt que la lettre « O ». TEST: année {{2O11}} ->> 2011 TEST: {{3O}} (chiffre avec un O). ->> 30 |
︙ | |||
2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 | 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | <<- ~2:0>> ␣ <<- =>> define(\2, ":MP:e:s") ~^[A-ZÀÂÉÈÊÎÔ]. Airways <<- ~>> ␣ <<- =>> define(\2, ":MP:e:i") __écritures_épicènes_invariables__ [tous|tou] · tes [tous|tou] · te · s <<- ~>> ␣ c · [eu|eux] · [elles|celles] [ceu|ceux] · [elles|celles] <<- ~>> ␣ *WORD · e · s *WORD · [ce|rice|drice|price|trice] · s *WORD · [fe|ffe] · s *WORD · [le|ale|bale|cale|dale|male|nale|pale|tale] · s *WORD · [ne|ane|ène|ine|nne|enne] · s *WORD · [ire|ière|ère|re] · s *WORD · [se|euse|ieuse|deuse|peuse|teuse] · s *WORD · [eresse|oresse] · s *WORD · [ve|ive|dive|sive|tive] · s *WORD · [te|ate|ète|ite|tte] · s *WORD · es *WORD · [ces|rices|drices|prices|trices] *WORD · [fes|ffes] *WORD · [les|ales|bales|cales|dales|males|nales|pales|tales] *WORD · [nes|anes|ènes|ines|nnes|ennes] *WORD · [res|ires|ières|ères] *WORD · [ses|euses|ieuses|deuses|peuses|teuses] *WORD · [eresses|oresses] *WORD · [ves|ives|dives|sives|tives] *WORD · [tes|ates|ètes|ites|ttes] <<- ~>> ␣ <<- morph(\1, ":[NAQ]", ":G") =>> define(\1, ":N:A:Q:e:p") *WORD · [e|fe|le|ne|se|te] <<- not value(>1, "|·|") >>> <<- ~>> ␣ <<- morph(\1, ":[NAQ]", ":G") =>> define(\1, ":N:A:Q:e:s") *WORD · s <<- not value(<1, "|·|") >>> <<- ~>> ␣ <<- morph(\1, ":[NAQ]", ":G") =>> define(\1, ":N:A:Q:e:p") __immunités__ il y a il n’ y a <<- !-1>> à l’ arrache |
︙ |
Modified graphspell-js/spellchecker.js from [1483d1a455] to [d92500050c].
︙ | |||
226 227 228 229 230 231 232 | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | - | return aSpellErr; } // IBDAWG functions isValidToken (sToken) { // checks if sToken is valid (if there is hyphens in sToken, sToken is split, each part is checked) |
︙ | |||
269 270 271 272 273 274 275 | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | - - - | return true; } return false; } getMorph (sWord) { // retrieves morphologies list, different casing allowed |
︙ |
Modified graphspell-js/tokenizer.js from [2ede633a83] to [4d88fd06ec].
︙ | |||
21 22 23 24 25 26 27 | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | - + - + | [/^[#@][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_-]+/, 'TAG'], [/^<[a-zA-Z]+.*?>|^<\/[a-zA-Z]+ *>/, 'HTML'], [/^\[\/?[a-zA-Z]+\]/, 'PSEUDOHTML'], [/^&\w+;(?:\w+;|)/, 'HTMLENTITY'], [/^\d\d?[h:]\d\d(?:[m:]\d\ds?|)\b/, 'HOUR'], [/^\d+(?:[.,]\d+|)/, 'NUM'], [/^[&%‰€$+±=*/<>⩾⩽#|×¥£§¢¬÷@-]/, 'SIGN'], |
︙ |
Modified graphspell/spellchecker.py from [4dd679e9ae] to [3d385eb49e].
︙ | |||
209 210 211 212 213 214 215 | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | - | return dWord # IBDAWG functions def isValidToken (self, sToken): "checks if sToken is valid (if there is hyphens in sToken, sToken is split, each part is checked)" |
︙ | |||
240 241 242 243 244 245 246 | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | - - - | return True if self.bPersonalDic and self.oPersonalDic.lookup(sWord): return True return False def getMorph (self, sWord): "retrieves morphologies list, different casing allowed" |
︙ |
Modified graphspell/tokenizer.py from [5243432861] to [3a068b8368].
︙ | |||
17 18 19 20 21 22 23 | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | - + - + | r'(?P<LINK>(?:https?://|www[.]|\w+[@.]\w\w+[@.])\w[\w./?&!%=+*"\'@$#-]+)', r'(?P<HASHTAG>[#@][\w-]+)', r'(?P<HTML><\w+.*?>|</\w+ *>)', r'(?P<PSEUDOHTML>\[/?\w+\])', r'(?P<HOUR>\d\d?[h:]\d\d(?:[m:]\d\ds?|)\b)', r'(?P<NUM>\d+(?:[.,]\d+))', r'(?P<SIGN>[&%‰€$+±=*/<>⩾⩽#|×¥£§¢¬÷@-])', |
︙ |