Obtenir les terminaisons des verbes français - retour accueil
Anonyme, en lecture seule : git clone git://bebou.netlib.re/conjugaison-light
Authentifié·e, en écriture : git clone ssh://git@bebou.netlib.re:1459/srv/git/conjugaison-light
Log | Files | Refs | README | zip | tar.gz |
| Mode | Name | Size |
| -rw-r--r-- | README | 84L |
| -rwxr-xr-x | cgi | 48L |
| -rwxr-xr-x | colorate | 3L |
| -rwxr-xr-x | filter | 3L |
| -rw-r--r-- | freq.txt | 421L |
| -rwxr-xr-x | tabulate | 15L |
| -rwxr-xr-x | verbe | 24L |
README (3163B)
1 # Outils pour trouver rapidement la terminaison d'un verbe
2
3 ## verbe
4
5 verbe prend un verbe en argument et va chercher les données sur
6 conjugaisonfrançaise.com
7 Le script est assez velu, devrait y avoir moyen de le simplifier
8 Peut-être tout faire en awk ?
9
10 ## tabulate
11
12 tabulate est un script awk qui met toutes les données au format
13 mode temps conjugaison
14 Cela fait beaucoup de données redondantes mais c'est utile pour...
15
16 ## filter
17
18 filter qui est un script qui prend jusqu'à trois arguments L'idée est de
19 pouvoir par exemple renseigner "conditionnel passé tu" et avoir la seconde
20 personne du singulier au conditionnel passé du verbe obtenu avec le script
21 verbe
22
23 ## colorate
24
25 Pour rendre les terminaisons rouges dans la console
26
27 ## Usage
28
29 Un usage complet pourrait être
30
31 ./verbe courir | ./colorate | ./tabulate | ./filter indicatif "futur antérieur" ils
32
33 ## Questions
34
35 Est-ce qu'il existe une base hors ligne ?
36
37 Je sais pas mais on peut en construire une. En se basant sur ce pdf des fréquences :
38 https://eduscol.education.fr/document/15661/download
39
40 On peut constuire une liste des 421 verbes les lus fréquents (pdftotext a été utile)
41
42 Par exemple pour construire les fichiers pour les trois verbes les plus
43 fréquentes dans un dossier data :
44
45 head -n 3 freq.txt | xargs -I {} -n1 sh -c './verbe > data/.txt' -- {}
46
47 Chaque fichier pèse environ 2Ko donc les 100 premiers verbes tiennent dans 200Ko
48
49 On peut ensuite écrire une fonction du type
50
51 conj() {
52 if [ -f ~/git/conjugaison-light/data/"$1".txt ]
53 then
54 data=$(cat ~/git/conjugaison-light/data/"$1".txt)
55 else
56 data=$(~/git/conjugaison-light/verbe $1)
57 fi
58 echo $data | ~/git/conjugaison-light/tabulate | ~/git/conjugaison-light/colorate | ~/git/conjugaison-light/filter $2 $3 $4 | column -nts ' '
59 }
60
61 Qui permet d'aller taper dans les verbes déjà téléchargés si le fichier existe
62 et de demander au site s'il n'existe pas.
63 On peut faire autrement en créant un nouveau fichier dans la "base" s'il
64 n'existait pas encore. Ainsi on s'économise le téléchargement de n pages au
65 préalable. On aurait donc aucun fichier à l'origine mais tout verbe requêté une
66 seconde fois ne passerait plus par conjugaisonfrancaise.com. Ca evite de
67 télécharger pleins de verbes en amont, même les plus fréquents, sans savoir
68 s'ils seront utilisés.
69
70 Avec un petit CGI monter un service ?
71
72 ./cgi est un exemple de script faisant l'affaire.
73
74 TODO le modifier pour que si on lui passe n'imp en premier argument il fasse quelque chose de plus intelligent que de créer un fichier vide au nom de l'argument
75
76 Les pages de conjugaisonfrancaise.com font environ 670Ko, 200Ko transférés
77 La version TSV avec la coloration des terminaisons fait environ 5,5Ko
78 Avec les filtres on peut s'arranger pour ne transférer que quelques octets.
79
80 Pour vérifier une terminaison on passerait donc de 200Ko transférés à 200Ko+~100o
81 la première fois et 100o les suivantes. Je ne sais pas à quel point un site
82 comme celui-ci est fréquenté mais sachant que le facteur par lequel on divise
83 les données transférées peut être est de 2000 on est gagants même sur un nombre très
84 faible de requêtes.